我有一个包含8列的表。最后一列的标题为重构?的<th>
标题,只显示表格中每行的复选框。如果用户想要重构表格中的特定记录,他们会检查行的重构?复选框,然后提交表单。
我正在尝试在表格上方执行“全部检查”复选框,用户单击“全部检查”复选框,表格中的每一行都会获得其重构?选中复选框。我试图在jQuery中实现这一点,并且已经走到了这一步:
$("#checkAll").click(function() {
alert("Check All has been checked!");
var checkboxArray = null;
$.each(checkboxArray, function(key, value) {
$(key).prop("checked", true);
});
});
显然,这不起作用,但是当我在alert
下方注释掉所有内容时,当我点击“全部检查”复选框时,我可以成功地弹出警告对话框,所以我已经得到了远。
我正在尝试获取表中所有 Refactor?复选框的数组(checkboxArray
)。一旦我拥有该数组,我只需要一种方法来遍历每个复选框并将其checked
属性设置为true。但是我在这里连接点时遇到了困难。提前谢谢!
答案 0 :(得分:1)
有两种方法,您可以选中所有复选框
$('input[type=checkbox]').prop('checked', true);
或者你可以给那些重构框一个类,只检查那些
$('.refactorClass').prop('checked', true);
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您为所有复选框添加一个类,那么这将更加清晰,然后您可以这样做
$("#checkAll").click(function() {
$(".seleciton").attr("checked", true);
});
答案 3 :(得分:0)
我不确定你为什么要先把它们放在一个数组中。
$('#checkall').click(function(){
$('input[type="checkbox"]').prop('checked', true);
});
答案 4 :(得分:0)
鉴于它们位于第8列,您可以按如下方式执行:
$("#checkAll").click(function() {
alert("Check All has been checked!");
$('#yourtable td:nth-child(8) :checkbox').each(function() {
$(this).prop("checked", true);
});
});
见工作demo
答案 5 :(得分:0)
$("#checkAll").click(function() {
alert("Check All has been checked!");
$('input[type="checkbox"]').not($(this)).prop('checked' , this.checked);
});
如果这些是您网页中唯一的复选框,则可以使用上述方法。不需要首先迭代..
$("#checkAll").click(function() {
alert("Check All has been checked!");
$('tbody input[type="checkbox"]').not($(this)).prop('checked' , this.checked);
});