示例表单:

<form name="dataform" id="dataform" method="post" action="">
<p> 
<label for="hobby">爱好</label> 
<input type="checkbox" name="hobby" value="1"> 游泳
<input type="checkbox" name="hobby" value="2"> 篮球
<input type="checkbox" name="hobby" value="3"> 足球
</p>
</form>

方法1:

//定义一个空数组
var checkID = [];

$("input[name='check']:checked").each(function(i){
  //把所有被选中的复选框的值存入数组
  checkID[i] =$(this).val();
});

//用Ajax传递参数
$.post('Ajax.php',{checkID:checkID},function(json){
   //...
},'json')

方法2:

其实使用serializeArray()获取表单数据时是有记录的,只是一般整理成data数据时没有做对应的处理

console.log(‘value’,  $(‘#dataform’).serializeArray())

var data = {};
var value = $('#dataform').serializeArray();
$.each(value, function (index, item) {
    //如果是复选框,调整value为数组类型
    if (item.name == 'hobby') {
      !data[item.name] && (data[item.name] = [])
      data[item.name].push(item.value);
    } else {
      data[item.name] = item.value;
    }
});
//用Ajax传递参数 
$.post('Ajax.php',data ,function(json){ 
    //... 
},'json')

 

作者 admin

百度广告效果展示