Lors de l'utilisation de la liste déroulante à plusieurs premiers que j'ai écrite la dernière fois, j'ai trouvé beaucoup de problèmes. Après modification et amélioration, elle peut maintenant être bien utilisée et a une meilleure portabilité. js
(fonction (){
$.fn.extend({
checks_select: function(options){
jq_checks_select = null;
$(this).val("---Veuillez sélectionner- --" );
$(this).next().empty(); //Effacer d'abord
$(this).unbind("click");
$(this).click( function(e ){
jq_check = $(this);
//jq_check.attr("class", "");
if (jq_checks_select == null) {
jq_checks_select = jq_check. next() ;
jq_checks_select.addClass("checks_div_select");
//jq_checks_select = $("
").insertAfter(jq_check); 🎜>$ .each(options, function(i, n){
check_div=$("
" n " div>" ).appendTo(jq_checks_select); check_box=check_div.children(); check_box.click(function(e){ //jq_check.attr("value",$(this) .attr( "value") ); temp="" $(this).parents().find("input:checked").each(function(i){ if( i==0){ temp=$(this).val(); }else{ temp ="," $(this).val(); } }); //alert(temp); jq_check.val(temp); e.stopPropagation(); }); jq_checks_select.show (); }else{ jq_checks_select.toggle(); } e.stopPropagation(); $(document) .click( function () { flag=$("#test_div"); if(flag.val()==""){ flag.val("---Veuillez sélectionner- --" ); } jq_checks_select.hide(); }); //$(this).blur(function(){ //jq_checks_select.css(" visibilité", "caché"); //alert(); //}); } }) })(jQuery); html
Copier le code