使用jQuery获取div中已选中复选框的列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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>
答案

结合前两个答案:

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

这会吗?

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;
});
另一答案

我需要检查所有复选框的计数。而不是写一个循环我做了这个

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

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

另一答案

这适合我。

var selecteditems = [];

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

你也可以给它们所有相同的名字so they are an array,但给它们不同的值:

<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>

然后,您只能获得仅勾选的using map的值:

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

以上是关于使用jQuery获取div中已选中复选框的列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在jQuery中获取指定div的选中复选框值

jquery复选框属性

更新 PHP 中已选中的复选框

Jquery获取列表中的值和input单选多选框控制选中与取消

选中复选框时jQuery隐藏div,未选中时显示

尝试使用 html 中已有的 div 列表进行无限滚动