Javascript jQueryUI多选

Javascript jQueryUI多选,javascript,jquery-ui,Javascript,Jquery Ui,我正在项目中使用这个jQueryUIMultiselect脚本,我需要一些帮助。 如何限制可以选择的最大项目数。。。比如说10件 谢谢 也许这有助于您: $("select").multiselect({ header: "Choose only TEN items!", click: function(e){ if( $(this).multiselect("widget").find("input:checked").length > 10 )

我正在项目中使用这个jQueryUIMultiselect脚本,我需要一些帮助。 如何限制可以选择的最大项目数。。。比如说10件

谢谢

也许这有助于您:

$("select").multiselect({
    header: "Choose only TEN items!",
    click: function(e){

        if( $(this).multiselect("widget").find("input:checked").length > 10 )
        {
            return false;
        } 
        else
        {
            return true;
        }

    }
});

这是一个旧的线程,但是对于任何遇到这个问题的人来说——这里是限制为版本选择的复选框行数的官方方法

注意:我建议为尝试选择超过最大允许值的用户显示一个消息类。此外,“>10”从零开始计数,即“0”是第一个索引值,在本例中,表示选择0,1,2,3,…9=10最大值

回答:

var warning = $(".message");

$("select").multiselect({ 
   header: "Choose only TEN items!",
   click: function(e){
       if( $(this).multiselect("widget").find("input:checked").length > 10 ){
           warning.addClass("error").removeClass("success").html("You can only check ten checkboxes!");
           return false;
       } else {
           warning.addClass("success").removeClass("error").html("Check a few boxes.");
       }
   }
});

请注意,一旦达到所选的最大值,您还可以禁用其余项目,这将阻止用户添加更多项目,从而产生您想要的效果:

$('#multiselect').bind('multiselectChange', function(evt, ui) {
   var selectedCount = $("option:selected", this).length;

   $(this)
      .find('option:not(:selected)').prop('disabled', selectedCount >= MAXIMUM_SELECTED_HERE).end()
      .multiselect('refresh');
});