jq表单序列化的小问题,蜗牛求老虎

1.jq同name只取一个value值,后面的覆盖前面的怎么写?
2.怎样把空值的value不要传出值

这个只能用js处理了,给你写个例子
代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

<script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
<form method="post" action="testing.php" id="form" >
    <input type="checkbox" name="n1" value="AAA" checked="checked" />
    <input type="checkbox" name="n1" value="BBB" checked="checked" />
    <input type="checkbox" name="n1" value="CCC" checked="checked" />
    <input type="text" name="t1" value="334" />
    <input type="text" name="t2" value="" />
</form>


<script type="text/javascript">
var arr = $("#form").serializeArray();
var obj = {};
arr.forEach(function(v, i){
    if (v.value!="") {
        obj[v.name]=v.value;
    }
});
console.log(obj);
var arr2 = [];
for (var n in obj) {
    arr2.push(encodeURIComponent(n)+"="+encodeURIComponent(obj[n]));
}
var data = arr2.join("&")
console.log(data);
</script>

img

这样之后用 $.ajax(); 提交 obj或data的值都可以。