首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery获取多个checkbox的值并输出为逗号分隔的字符串。

使用jQuery获取多个checkbox的值并输出为逗号分隔的字符串。
EN

Stack Overflow用户
提问于 2012-07-30 22:12:40
回答 6查看 85.1K关注 0票数 28

我有许多复选框,如下所示:

代码语言:javascript
复制
<li><input type="checkbox" name="areaofinterest" value="home_coo" id="home_coo" class="Checkbox" > Cooking</li>
    <li><input type="checkbox" name="areaofinterest" value="home_cra" id="home_cra" class="Checkbox"> Crafts</li>
    <li><input type="checkbox" name="areaofinterest" value="home_dec" id="home_dec" class="Checkbox"> Decorating</li>
    <li><input type="checkbox" name="areaofinterest" value="home_ent" id="home_ent" class="Checkbox"> Entertaining</li>
    <li><input type="checkbox" name="areaofinterest" value="home_gar" id="home_gar" class="Checkbox"> Gardening</li>
    <li><input type="checkbox" name="areaofinterest" value="home_hom" id="home_hom" class="Checkbox"> Home Improvement</li>
    <li><input type="checkbox" name="areaofinterest" value="home_mar" id="home_mar" class="Checkbox"> Marriage</li>
    <li><input type="checkbox" name="areaofinterest" value="home_par" id="home_par" class="Checkbox"> Parenting</li>
    <li><input type="checkbox" name="areaofinterest" value="home_pet" id="home_pet" class="Checkbox" > Pets</li>
    <li><input type="checkbox" name="areaofinterest" value="home_ret" id="home_ret" class="Checkbox"> Retirement</li>

如何使用jQuery获取检查值并输出为areaofinterest="home_coo,home_mar,home_pet“?

非常感谢。

EN

回答 6

Stack Overflow用户

发布于 2012-07-30 22:16:20

代码语言:javascript
复制
var areaofinterest = '';

$('[name="areaofinterest"]')​.each(function(i,e) {
    var comma = areaofinterest.length===0?'':',';
    areaofinterest += (comma+e.value);
})​;

要仅获取复选框的值,请执行以下操作:

代码语言:javascript
复制
var areaofinterest = '';

$('[name="areaofinterest"]')​.each(function(i,e) {
    if ($(e).is(':checked')) {
        var comma = areaofinterest.length===0?'':',';
        areaofinterest += (comma+e.value);
    }
})​;

FIDDLE

您还可以执行以下操作:

代码语言:javascript
复制
var areaofinterest = [];
$('[name="areaofinterest"]:checked').each(function(i,e) {
    areaofinterest.push(e.value);
});

areaofinterest = areaofinterest.join(',');

可能还有很多其他的方法可以做到这一点呢?

票数 4
EN

Stack Overflow用户

发布于 2012-07-30 22:16:18

代码语言:javascript
复制
var values = "";
$("checkbox[name=areaofinterest]").each(function() { 
    values += $(this).val() + ",";
});

values = values.substring(0, values.length - 2);
票数 0
EN

Stack Overflow用户

发布于 2012-07-30 22:17:24

尝试如下所示:

代码语言:javascript
复制
var areaofinterest= "";

$("input[type=\"checkbox\"]").each(function() {
    if ($(this).attr("checked")) {
        if (areaofinterest !== "") areaofinterest += ",";

        areaofinterest += $(this).value();
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11723297

复制
相关文章

相似问题

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