我正在寻找一个jQuery函数或插件,它使用jQuery 1.4中param()支持的深度序列化的命名约定将表单输入序列化为对象:
<form>
<input name="a[b]" value="1"/>
<input name="a[c]" value="2"/>
<input name="d[]" value="3"/>
<input name="d[]" value="4"/>
<input name="d[2][e]" value="5"/>
</form>
$('form').serializeObject(); // { a: { b:"1",c:"2" }, d: ["3","4",{ e:"5" }] }
Prototype的Form.serialize方法可以做到这一点。什么是jQuery等价物?我找到了this plugin,但它没有遵循这个命名约定。
答案 0 :(得分:3)
由于似乎没有任何现有的库可以完成我所寻求的工作,因此我从几个现有库中完成了类似的工作:
两者都是Ben Alman。谢谢,本!
答案 1 :(得分:0)
尝试使用jquery表单插件。我没有测试过,但我认为它会解决你的问题
答案 2 :(得分:0)
你不需要插件。 $('form')。submit(function(){alert($(this).serializeArray()); return false; });
看看 http://api.jquery.com/serializeArray/答案 3 :(得分:0)
也许迟到了,但是有一个jQuery插件可以满足您的需求。
http://v3.javascriptmvc.com/index.html#&who=jQuery.fn.formParams