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;}
您正在使用的方法将自己访问每个复选框,这会使事情变得复杂。