示例表单:
<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')