首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery选择复选框组的值

使用jQuery选择复选框组的值
EN

Stack Overflow用户
提问于 2009-01-06 14:35:07
回答 9查看 171.6K关注 0票数 63

我使用Zend_Form输出一组复选框:

代码语言:javascript
复制
<label style="white-space: nowrap;"><input type="checkbox" name="user_group[]" id="user_group-20" value="20">This Group</label>

对于普通的HTTP Post,这些值是作为数组传递的,但是当我对如何使用jQuery获取所有值感到困惑时。我想我可以使用以下命令选择组:

代码语言:javascript
复制
$("input[@name='user_group[]']").val()

但这只是获取列表中第一个复选框的值,而不管它是否被选中。有什么想法吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-01-06 15:04:22

您可以使用选中的选择器仅获取选定的值(无需知道计数或自己遍历所有值):

代码语言:javascript
复制
$("input[name='user_group[]']:checked")

有了这些选中的项,您可以创建这些值的集合,或者对该集合执行某些操作:

代码语言:javascript
复制
var values = new Array();
$.each($("input[name='user_group[]']:checked"), function() {
  values.push($(this).val());
  // or you can do something to the actual checked checkboxes by working directly with  'this'
  // something like $(this).hide() (only something useful, probably) :P
});
票数 137
EN

Stack Overflow用户

发布于 2009-07-10 13:40:36

我不确定选择器中使用的"@“。至少在最新的jQuery中,我必须删除@才能使其与两个不同的复选框数组一起工作,否则将为每个数组选择所有选中的项:

代码语言:javascript
复制
var items = [];
$("input[name='items[]']:checked").each(function(){items.push($(this).val());});

var about = [];
$("input[name='about[]']:checked").each(function(){about.push($(this).val());});

现在两者,项目和关于工作。

票数 17
EN

Stack Overflow用户

发布于 2012-07-11 17:25:22

使用.map() (改编自http://api.jquery.com/map/的示例):

代码语言:javascript
复制
var values = $("input[name='user_group[]']:checked").map(function(index,domElement) {
    return $(domElement).val();
});
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/416752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档