0

我正在尝试循环多选复选框的值,以便我可以拆分数组并将它们作为一个字符串发布。在 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(),但即使未选中复选框,它也会始终提供“内容管理”。

4

2 回答 2

2

遍历复选框并将它们的值存储在一个数组中。然后“内爆”这个数组。

var arr = [];
$('[name="usage[]"]:checked').each(function(){
    arr.push(this.value);
});
alert(arr.join(','));
于 2013-01-09T12:59:08.440 回答
2

试试$.serializeArray()

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

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

于 2013-01-09T13:05:33.577 回答