javascript - 寻找一个 jquery 插件来将表单序列化为对象

标签 javascript jquery

我正在寻找一个 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 。谢谢,本!

结果:http://gist.github.com/405448

关于javascript - 寻找一个 jquery 插件来将表单序列化为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2854740/

相关文章:

javascript - 如果鼠标未悬停元素则淡出

javascript - 未找到 Lodash 文件,但它在 index.html 中正确列出并且位于所描述的目录中

javascript - 调用函数不更新数据

javascript - 调整 Google map 标记图标图像的大小

javascript - ul li items shuffle random position fade 一个接一个

javascript - jquery统计段落中区分大小写的单词出现的次数

javascript - ~ 的作用是什么,可以安全使用吗?

javascript - Angular ng-model 在 JS 中未定义

javascript - Jquery Datatables 在 json 表中添加新行

jquery - CSS div 覆盖和 jQuery