jQuery UI Multiselect

时间:2012-03-14 14:33:29

标签: javascript jquery-ui

我在项目中使用这个jQuery UI Multiselect脚本:http://www.quasipartikel.at/multiselect/index.html,我需要一些帮助。 如何限制可以选择的项目的最大数量...到10个项目,让我们说!?

谢谢!

3 个答案:

答案 0 :(得分:2)

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

注意:我建议为尝试选择超过允许的最大值的用户显示一个邮件类。此外,从作为第一指数值的零'0'开始计数“> 10”,意味着在该示例中选择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.");
       }
   }
});

答案 1 :(得分:0)

也许这会对你有所帮助:

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

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

    }
});

答案 2 :(得分:0)

请注意,一旦达到所需的最大值,您也可以禁用剩余的项目,这将阻止用户添加更多内容,从而获得您想要的效果:

$('#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');
});