我正在为我的应用程序中的jquery数据表编写一个selectall按钮。但按钮的行为方式不一致,双击该按钮实际上取消选中数据表中的复选框。这是我的按钮点击事件的代码。 sampleTable是我的jquery数据表。
$("#button_select_all").click(function () {
$(allSamplesTable.fnGetFilteredNodes()).find(':checkbox').each(function () {
$this = $(this);
$this.attr('checked', 'checked');
for (var i = 0; i < _sampleTableExports.length; i++) {
if (_sampleTableExports[i]["Id"] == $(this).val()) {
_sampleTableExports.splice(i, 1);
return true;
}
}
_sampleTableExports.push({ "Name": $(this).attr("name"), "Id": $(this).val() });
});
});
请告知为什么按钮在第二次点击时忽略了复选框。
答案 0 :(得分:0)
而不是
$this.attr('checked', 'checked');
你可以试试吗
$this.prop('checked', true);
如果您只想尝试选择all,请尝试以下操作:
$("#button_select_all").one( "click", function() {
// Place your click logic in here
// $(allSamplesTable.fnGetFilteredNodes()).find......
});
但是看起来你的检查所有按钮的行为应该是这样,点击一旦它选择了所有内容,再次点击它取消选择所有内容。