如何知道是否选中复选框

时间:2013-05-09 09:32:30

标签: jquery

$('[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);

    });

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

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

请帮帮我 提前致谢

3 个答案:

答案 0 :(得分: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);
 });

答案 1 :(得分:1)

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

$('[name="SelectHighlights"]').each(function () {
    if (this.checked) {
        // do this if this checkbox is checked
    }else{
        // do this is this checkbox is not checked
    }
});

答案 2 :(得分: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 
    }
});
相关问题