2013-09-28 36 views
0

如何獲取未勾選複選框的ID?未勾選複選框的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; 
       } 
+1

數組'state'不*外觀*像數組... – Ryan

+0

@minitech它進一步設置文件我想要一個數組0和1 –

回答

1

您可以使用not得到未檢查數組中的一個值。

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

一個問題可能是你在你的其他條件做

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

所以大概,如果你的第一個元素去否則將導致所有設置爲未選中狀態(如果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); 
}); 
+0

'input [type ='checkbox']:not(:checked)'? – Ryan

0

陣列,以獲得選中的複選框

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