我已经设置了jquery来查找我的全选复选框,但由于某种原因它只在第二次点击时选择全部.
任何想法将不胜感激.
$("h2 #selectAllState").click(function () {
var here = $(this).closest("div").attr('id');
var stateDiv = "#"+here;
var cityList = "#state"+here;
$(stateDiv+" h2 input:checkbox").change(function () {
$(cityList).find(':checkbox').prop("checked", this.checked);
});
});
Run Code Online (Sandbox Code Playgroud)
或者是一个小伙子
您的原始问题是,change在第一次单击发生之前,您没有绑定处理程序.我已经解决了这个问题,并设法使用遍历函数来简化代码.
$("#selectAllState").click(function () {
$(this).closest('div').find('.cityPick :checkbox').prop("checked", this.checked);
});
Run Code Online (Sandbox Code Playgroud)
此外,看起来您可能正在为其他状态重复此块,在这种情况下,您可能有多个具有id的元素#selectAllState,这是不允许的.如果我的假设是正确的,那应该改为一个类而不是一个id.