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);
...
我用过代码:
<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);
...