0
$('[name="SelectHighlights"]:checked').each(function () {
        var row = $(this).closest('tr');


        var high = {
            AccountId: row.find('td:nth-child(3)').text(),
            Highcomments: row.find('td:nth-child(4)> input').val()
        };
        HighlightsArea.push(high);

    });

这是我用于检索选中复选框的行的代码

如何检索未选中复选框的行

请帮助我提前谢谢

4

3 回答 3

2

使用 :not() 选择器

$('[name="SelectHighlights"]:not(:checked)').each(function () {
    var row = $(this).closest('tr');


    var high = {
        AccountId: row.find('td:nth-child(3)').text(),
        Highcomments: row.find('td:nth-child(4)> input').val()
    };
    HighlightsArea.push(high);
 });
于 2013-05-09T09:39:11.250 回答
1

由于您已经在循环中选中了复选框,因此我将对所有复选框使用相同的循环,并在循环内部检查它们是否被选中,而不是为未选中的框添加另一个循环。

$('[name="SelectHighlights"]').each(function () {
    if (this.checked) {
        // do this if this checkbox is checked
    }else{
        // do this is this checkbox is not checked
    }
});
于 2013-05-09T09:35:02.680 回答
0

像这样试试

$('input[type="checkbox"][name="SelectHighlights"]:checked').each(function () {
       var row = $(this).closest('tr');

或直接

$('input[name="SelectHighlights"]:checked').each(function () {
       var row = $(this).closest('tr');

根据您编辑的问题,您可以获得两个复选框,例如

$('input[name="SelectHighlights"]').each(function(){
    if ($(this).attr('checked')){
         //Do your stuff with checked 
    }else{
         // Do your stuff with unchecked 
    }
});
于 2013-05-09T09:33:33.930 回答