选中标题中的所有复选框,以选中该列中的所有复选框

时间:2017-09-12 07:44:43

标签: javascript jquery jsf-2.2

我使用过代码:

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

第一次选择/取消选中标题中的复选框时,此代码正常工作。但是当我再次选中复选框时,此代码无效。未选中复选框。

1 个答案:

答案 0 :(得分:0)

您应该使用.prop()代替.attr()。你必须检查一个元素是否已被检查。

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