当前位置:  开发笔记 > 前端 > 正文

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

如何解决《使用jQuery获取div中已选中复选框的列表》经验,为你挑选了6个好方法。

我想获得一个在具有特定id的div中选中的复选框的名称列表.我怎么用jQuery做到这一点?

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

Option 1 Option 2 Option 3 Option 4

Alex LE.. 420

结合前两个答案:

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

和另一个组合:var selected = $('#checkboxes input:checked').map(function(i,el){return el.name;}).get(); //添加.join(';')来获取组合字符串 (10认同)

不必要的构造函数调用`var selected = new Array();`.使用`var selected = [];`更好(更便宜) (2认同)


nikc.org.. 52

这会吗?

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

$(this).checked不起作用.使用if($(this).attr('checked'))或if($(this).is(':checked')) (9认同)


Corey.. 36

$("#checkboxes").children("input:checked")

将为您提供一系列元素.如果你只是特别需要这些名字:

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

`$("#checkboxes:checked").map(...)`会更简洁.正如Jansen指出的那样,它应该是`$(this).attr("name")`; 但我会考虑一个简单的`this.name`,它应该兼容. (4认同)

我认为应该返回this.name或返回$(this).attr('name'); (2认同)


Usman Shauka.. 22

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

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

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



1> Alex LE..:

结合前两个答案:

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


和另一个组合:var selected = $('#checkboxes input:checked').map(function(i,el){return el.name;}).get(); //添加.join(';')来获取组合字符串
不必要的构造函数调用`var selected = new Array();`.使用`var selected = [];`更好(更便宜)

2> nikc.org..:

这会吗?

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


$(this).checked不起作用.使用if($(this).attr('checked'))或if($(this).is(':checked'))

3> Corey..:
$("#checkboxes").children("input:checked")

将为您提供一系列元素.如果你只是特别需要这些名字:

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


`$("#checkboxes:checked").map(...)`会更简洁.正如Jansen指出的那样,它应该是`$(this).attr("name")`; 但我会考虑一个简单的`this.name`,它应该兼容.
我认为应该返回this.name或返回$(this).attr('name');

4> Usman Shauka..:

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

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

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



5> 小智..:

这适合我.

var selecteditems = [];

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



6> SharpC..:

您也可以给它们所有相同的名称,因此它们是一个数组,但给它们不同的:

Option 1 Option 2 Option 3 Option 4

然后,您只能使用map获取仅勾选的值的值:

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

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有