Jquery 收集所有复选框的值

Jquery 收集所有复选框的值,jquery,Jquery,在下面的示例代码中。当我单击第一个复选框时,我会收到一个警报,但对于第二个复选框,我不会收到警报。我相信,这可能是因为身份证是一样的。有人能告诉我怎么过来吗。我想要一种方法,将所有复选框值保存在列表中,并在未选中时删除 $(function(){ $('#abc').click(updateList); }); function updateList() { var allVals = []; $('#abc').each(function() { a

在下面的示例代码中。当我单击第一个复选框时,我会收到一个警报,但对于第二个复选框,我不会收到警报。我相信,这可能是因为身份证是一样的。有人能告诉我怎么过来吗。我想要一种方法,将所有复选框值保存在列表中,并在未选中时删除

$(function(){
    $('#abc').click(updateList);
});

function updateList() {
    var allVals = [];
    $('#abc').each(function() {
         allVals.push($(this).val());
    });
    alert(allVals);
}

<table>
<tr>
    <td>
        <input type="checkbox" value="1" id="abc" /> 1
    </td>
</tr>
<tr>
    <td>
         <input type="checkbox" value="2" id="abc" /> 2
    </td>
</tr>
</table>
$(函数(){
$('abc')。单击(更新列表);
});
函数updateList(){
var-allVals=[];
$('#abc')。每个(函数(){
allVals.push($(this.val());
});
警报(ALLVAL);
}
1.
2.

元素的ID必须是唯一的,请使用类对类似元素进行分组

<input type="checkbox" value="1" class="abc" /> 1
演示:

如果只想选中复选框,则

$(function(){
    $('.abc').change(updateList);
});

function updateList() {
    var allVals = $('.abc:checked').map(function() {
        return this.value
    }).get();
    alert(allVals);
}

演示:

ID应该是唯一的。简单的事情。令人惊叹的!!
$(function(){
    $('.abc').change(updateList);
});

function updateList() {
    var allVals = $('.abc:checked').map(function() {
        return this.value
    }).get();
    alert(allVals);
}