如何使用jQuery从表行中的特定单元格中获取复选框值?

时间:2010-07-21 22:31:00

标签: jquery checkbox tablecell

我有一个表,每行包含多个复选框。我需要获取每个复选框的值。我已经能够执行以下操作来检索表格第一列中复选框的值...

$('#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';
        }

哪个不起作用。关于如何使这项工作的任何建议?

2 个答案:

答案 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() {
        //..
    });
});