使用jQuery在div中获得选中复选框的列表

我想获得在具有特定id的div中选择的复选框的名称列表。我如何使用jQuery来做到这一点?

例如,对于这个div,我想获得数组["c_n_0";"c_n_3"]或字符串"c_n_0;c_n_3"

<div id="checkboxes">
<input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1
<input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2
<input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3
<input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4
</div>
534048 次浏览

这样行吗?

var selected = [];
$('div#checkboxes input[type=checkbox]').each(function() {
if ($(this).is(":checked")) {
selected.push($(this).attr('name'));
}
});
$("#checkboxes").children("input:checked")

会给你一个元素本身的数组。如果你只是特别需要这些名字:

$("#checkboxes").children("input:checked").map(function() {
return this.name;
});

以上两个答案的组合:

var selected = [];
$('#checkboxes input:checked').each(function() {
selected.push($(this).attr('name'));
});

这对我很有用。

var selecteditems = [];


$("#Div").find("input:checked").each(function (i, ob) {
selecteditems.push($(ob).val());
});

我需要被选中的所有复选框的计数。而不是写一个循环,我这样做

$(".myCheckBoxClass:checked").length;

将它与复选框的总数进行比较,看看它们是否相等。希望它能帮助到一些人

你也可以给它们相同的名字它们是一个数组,但给它们不同的值< em > < / em >:

<div id="checkboxes">
<input type="checkbox" name="c_n[]" value="c_n_0" checked="checked" />Option 1
<input type="checkbox" name="c_n[]" value="c_n_1" />Option 2
<input type="checkbox" name="c_n[]" value="c_n_2" />Option 3
<input type="checkbox" name="c_n[]" value="c_n_3" checked="checked" />Option 4
</div>

然后你只能得到被选中的使用地图的值:

$('#checkboxes input:checked[name="c_n[]"]')
.map(function () { return $(this).val(); }).get()
function listselect() {
var selected = [];
$('.SelectPhone').prop('checked', function () {


selected.push($(this).val());
});


alert(selected.length);
     <input type="checkbox" name="SelectPhone" class="SelectPhone"  value="1" />
<input type="checkbox" name="SelectPhone" class="SelectPhone"  value="2" />
<input type="checkbox" name="SelectPhone" class="SelectPhone"  value="3" />
<button onclick="listselect()">show count</button>
 var agencias = [];
$('#Div input:checked').each(function(index, item){
agencias.push(item.nextElementSibling.attributes.for.nodeValue);
});

如果您需要获得选定复选框的数量:

var selected = []; // initialize array
$('div#checkboxes input[type=checkbox]').each(function() {
if ($(this).is(":checked")) {
selected.push($(this));
}
});
var selectedQuantity = selected.length;