我有多个name=ap[]
复选框,并希望使用jquery将选中的复选框值转换为逗号分隔值,以便我可以解析为查询字符串。我怎么会这样呢? .serialize()
使字符串变得复杂
答案 0 :(得分:6)
jQuery.fn.map在jQuery集上进行迭代,并返回一个新数组(在jQuery包装器中),其中包含的节点等于每个itterarion的返回值。然后,您可以通过调用jQuery.fn.get来获取该数组,然后将该数组用于您想要的任何内容:
$(':checkbox:checked').map(function(){
return $(this).val(); // value will be in the returned array
})
.get() // extract the new array from the jQuery object
.join(','); //do anything you want with the array
在您的情况下,可以这样应用:
var list = $(':checkbox[name="ap[]"]:checked').map(function(){
return $(this).val();
}).get().join(',');
alert(list);
答案 1 :(得分:1)
var list = '';
$("[name=ap[]]").is("checked").each(function(){
list += $(this).val() + ',';
});
答案 2 :(得分:0)
var csv="";
$('input:checkbox[name="ap[]"]:checked').each(function(index) {
if(csv !="" ) csv+=",";
csv+=$(this).val();
});