我有一个表,每行包含多个复选框。我需要获取每个复选框的值。我已经能够执行以下操作来检索表格第一列中复选框的值...
$('#myTable tbody tr td:first-child input:checkbox').each(function() {
if (this.checked) {
//Do something
}
});
但现在我需要遍历每一行,并获取每个复选框的值。这就是我一直在尝试的特定复选框...
if($(this).find(':input[type="checkbox"]').eq(0).attr('checked')) {
myVariable = 'so and so';
}
else {
myVariable = 'something else';
}
哪个不起作用。关于如何使这项工作的任何建议?
答案 0 :(得分:1)
你的问题不是那么清楚,但是从你的第二个例子开始,我认为'this'是tr。下面显示了如何获取行内的第一个复选框并测试是否已选中
if ( $(this).find('input:checkbox:first').is(':checked') ) {...}
迭代行中的所有复选框
$(this).find('input:checkbox').each( function(){...}
迭代行中所有选中的复选框
$(this).find('input:checkbox:checked').each( function(){...}
答案 1 :(得分:0)
为什么不从选择器中删除td:first-child
?
$('#myTable tbody tr input:checkbox').each(function() {
if (this.checked) {
//Do something
}
});
或者,如果您想以某种方式对每行的复选框进行分组:
$('#myTable tbody tr').each(function() {
$(this).find('input:checkbox:checked').each(function() {
//..
});
});