循环javascript多选表单元素

时间:2013-01-09 12:57:29

标签: javascript forms loops post

我正在尝试循环多选复选框的值,以便我可以拆分数组并将它们作为一个字符串发布。在PHP中你可以说:

implode(",", $_POST['usage'])

获取逗号分隔的字符串。我将如何在javascript中使用相同的内容或使用jquery作为下面的源代码。

<input type="checkbox" name="usage[]" id="usage-ContentManagement" value="Content Management">
<input type="checkbox" name="usage[]" id="usage-Personal" value="Personal">
<input type="checkbox" name="usage[]" id="usage-Business" value="Business">
<input type="checkbox" name="usage[]" id="usage-SmallBusiness" value="Small Business">

我已尝试$('[name="usage[]"]').val()但即使未选中此复选框,也会始终提供“内容管理”。

2 个答案:

答案 0 :(得分:2)

迭代复选框并将其值存储在数组中。然后“内爆”这个数组。

var arr = [];
$('[name="usage[]"]:checked').each(function(){
    arr.push(this.value);
});
alert(arr.join(','));

答案 1 :(得分:2)

尝试$.serializeArray()

var values = $('[name="usage[]"]').serializeArray().map(function(kvp) {
    // kvp has the form {name:..., value:...}
    return kvp.value;
}).join(',');

优点是你可以将它用于任何表单元素:复选框,单选框,选择,文本输入,... $.serializeArray确保检索到适当的值。