如何获取未选中复选框的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;
}
答案 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();