Maison  >  Article  >  interface Web  >  Un simple plug-in qui implémente plusieurs sélections dans une liste déroulante est plus portable_jquery

Un simple plug-in qui implémente plusieurs sélections dans une liste déroulante est plus portable_jquery

WBOY
WBOYoriginal
2016-05-16 16:49:59914parcourir

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

Copier le code Le code est le suivant :

(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 "" ).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