JS逻辑 – 添加2个多选复选框

只需要一点JS逻辑的帮助,因为我对它很陌生。 我有2个单独的多选下拉复选框列表用户可以选择。 截至目前,他们每个人可以选择不超过5个。 我如何设置它将两个下拉添加到只允许5 TOTAL两者。

  

JS

 $(document).ready(function() { $(".multiselect").multiselect({ header: "Choose up to 5 areas", click: function(event,ui){ if( $(this).multiselect("widget").find("input:checked").length > 5 ){ return false; }}, selectedList:5 }); 

我假设我会使用id而不只是“.multiselect”类然后添加它们。 if语句中的#dropdown1+#dropdown2 > 5 。 我只是不知道正确的语法,有人可以帮助我。

如果您不熟悉我正在使用的jQuery小部件: http : //www.erichynds.com/blog/jquery-ui-multiselect-widget

每个请求user689

 $(document).ready(function() { $(".multiselect").multiselect({ header: "Choose up to 5 areas", click: function(event,ui){ if($(".multiselect").multiselect("getChecked").map(function(){ return this.value; }).size() > 5){ return false;}}, selectedList:5 }); 

你可以这样做。

您将显示一条消息,并在数字大于5时取消选择该项目。

Javascript使用Jquery

 $(".multiselect option").click(function(){ if($(".multiselect").children(":checked").length > 5){ if($(this).is(":checked")){ $(this).removeAttr("selected"); alert("You can select only 5 items"); } } } ); 

使用方法的语法是:

 $("#multiselect").multiselect("method_name"); 

例如,要获取所有单击复选框的数组:

 var array_of_checked_values = $(".multiselect").multiselect("getChecked").map(function(){ return this.value; }).get(); 

在您的情况下,您只想获取复选框的数量,即数组的长度:

 if($(".multiselect").multiselect("getChecked").map(function(){ return this.value; }).size() > 5){ return false;} 

您正在使用的方法将自己访问每个复选框,这会使事情变得复杂。