我正在尝试循环多选复选框的值,以便我可以拆分数组并将它们作为一个字符串发布。在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()
但即使未选中此复选框,也会始终提供“内容管理”。
答案 0 :(得分:2)
迭代复选框并将其值存储在数组中。然后“内爆”这个数组。
var arr = [];
$('[name="usage[]"]:checked').each(function(){
arr.push(this.value);
});
alert(arr.join(','));
答案 1 :(得分:2)
var values = $('[name="usage[]"]').serializeArray().map(function(kvp) {
// kvp has the form {name:..., value:...}
return kvp.value;
}).join(',');
优点是你可以将它用于任何表单元素:复选框,单选框,选择,文本输入,... $.serializeArray
确保检索到适当的值。