我正在寻找一个 jQuery 函数或插件,它使用 param() 支持的深度序列化命名约定将表单输入序列化为对象。在 jQuery 1.4 中:
<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但它不遵循此命名约定。
最佳答案
由于似乎没有任何现有的库可以完成我所寻求的功能,因此我将几个现有库中的一些内容进行了混搭,这些库可以完成类似的事情:
- 来自 jQuery BBQ 的 jQuery.deparam 函数
- 问题中提到的 jQuery.serializeObject 函数。
两者均来自Ben Alman 。谢谢,本!
关于javascript - 寻找一个 jquery 插件来将表单序列化为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2854740/