格式化复选框数组到csv

时间:2012-01-24 09:50:45

标签: jquery

我有多个name=ap[]复选框,并希望使用jquery将选中的复选框值转换为逗号分隔值,以便我可以解析为查询字符串。我怎么会这样呢? .serialize()使字符串变得复杂

3 个答案:

答案 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();

});