jQuery序列化数组输入



如何使用jquery将这些数组输入序列化到

<form id="myform" action="" method="">
<input type="text" name="name[0].basketball">
<input type="text" name="name[0].ball">
<input type="text" name="name[1].basketball">
<input type="text" name="name[1].ball">
</form>

看起来像这样:

[{basketball: 'TestBasketball', Ball: 'TestBall'}, {basketball: 'TestBasketball1', Ball: 'TestBall2'}]

JQuery(此代码不起作用,它只得到名称[0]。basketball:"TestBasketball"(

$('#myform').serializeArray();

类似的东西?

var ser = [];
$("#myform>input[type=text]").each(function() {
var idx = parseInt(this.name.split("[")[1]);
var key = this.name.split(".")[1];
if (ser[idx]) ser[idx][key]=this.value;
else ser.push({[key]:this.value});
});
console.log(ser);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" action="" method="">
<input type="text" name="name[0].basketball" value="TestBasketball1" />
<input type="text" name="name[0].ball" value="TestBall1" />
<input type="text" name="name[1].basketball" value="TestBasketball2">
<input type="text" name="name[1].ball" value="TestBall2" />
</form>

最新更新