未选中复选框的ID

时间:2013-09-28 02:59:56

标签: jquery checkbox

如何获取未选中复选框的ID?

我有下面的代码,但我似乎在数组中获得了一个用于state

的值
$("input[type='checkbox']").each(function(){
                 if ($(this).is(":checked")) 
                 {
                    checkbox.push($(this).data("id"));
                    state = 1;
                 }else{
                    $("input[type='checkbox']").attr('checked', false);
                    checkbox.push($(this).data("id"));
                    state = 0;
                 }

2 个答案:

答案 0 :(得分:1)

您可以使用not获取未选中的内容。

$("input[type='checkbox']").not(':checked').each(function(){
     checkbox.push($(this).data("id"));
});

你可能正在做一个问题

$("input[type='checkbox']").attr('checked', false);

在你的其他情况下很可能如果你的第一个元素转到else,它将导致将all设置为unchecked(如果attr工作正常)。

如果你想要一个0..1

的数组
var checkbox=[], state=[]; 
$("input[type='checkbox']").each(function () {
    var flg = this.checked ? 1 : 0;
    checkbox.push($(this).data("id"));
    state.push(flg);
});

答案 1 :(得分:0)

获取未经检查的复选框数组

var uncheckedIds = $("input[type='checkbox']").not(':checked').map(function(){
    return $(this).data('id');
}).get();