select header 中的所有复选框,select 该列中的所有复选框

select all checkbox in header , to select all checkboxes in that column

我用过代码:

<script type="text/javascript">
  $(window).load(function () {
    $(document).delegate(".checkall", "click", function(event) {
      $(this).closest("table").find(':checkbox').attr('checked', this.checked);
    });
  });
</script>

当我第一次 select/deselect header 中的复选框时,这段代码工作正常。但是当我再次 select 复选框时,这段代码就不起作用了。复选框未 selected。

您应该使用 .prop() 而不是 .attr()。而且你必须检查一个元素是否已经被选中。

...
  var $checkbox = $(this).closest("table").find(':checkbox');
  if ($checkbox.is(':checked')) $checkbox.prop('checked', false);
  else                          $checkbox.prop('checked', true);
...