jquery复选框全选

0 checkbox jquery select

我已经设置了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)

或者是一个小伙子

Jas*_*n P 6

您的原始问题是,change在第一次单击发生之前,您没有绑定处理程序.我已经解决了这个问题,并设法使用遍历函数来简化代码.

http://jsfiddle.net/w8ZLV/

$("#selectAllState").click(function () {    
    $(this).closest('div').find('.cityPick :checkbox').prop("checked", this.checked);
});
Run Code Online (Sandbox Code Playgroud)

此外,看起来您可能正在为其他状态重复此块,在这种情况下,您可能有多个具有id的元素#selectAllState,这是不允许的.如果我的假设是正确的,那应该改为一个类而不是一个id.