jquery的.serializeArray()方法可以获取形如以下

[
{name: 'firstname', value: 'Hello'},
{name: 'lastname', value: 'World'},
]

name value组成的对象数组,如果我们想得到key为name,value为value的json对象,则如下转换:

var m = {};
$.each($("form").serializeArray(), function(i, field){
m[field.name]=field.value;
});

但是这么转换有一个弊端,就是checkbox,复选框有多个name相同的值,最后只留下了最后一个,如果想把复选框多个name相同的值存为数组,有一个解决办法是办json对象的值全变为数组类型,如下:

var m = {};
$.each($(v).find(".panel-body form").serializeArray(), function(i, field){
if(!m.hasOwnProperty(field.name)){
m[field.name]=[];
}
m[field.name].push(field.value)
});

这样可以保证复选框的值存为一个数组,但是其他值要通过 m.key[0]来获取了。

这里注意,在页面中除了单选按钮  复选框写多个相同的name值以外,其他不要出现name相同的表单哦。

jquery方法.serializeArray()还有一个弊端,就是不能获取input file添加的图片元素。

jquery方法.serializeArray()获取name和value并转为json数组的更多相关文章

  1. jquery获取表单数据方法$.serializeArray()获取不到disabled的值

    $.serializeArray()获取不到disabled的值 经实验,$.serializeArray()获取不到disabled的值,如果想要让input元素变为不可用,可以把input设为re ...

  2. .net后台获取DataTable数据,转换成json数组后传递到前台,通过jquery去操作json数据

    一,后台获取json数据 protected void Page_Load(object sender, EventArgs e){  DataTable dt = DBhepler.GetDataT ...

  3. C#拼装JSON数组简易方法

    下面是我们想要拼接出来的JSON字符串,返回给前台 {"success":"true","msg":"","d ...

  4. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等

    简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...

  5. jquery尺寸和jQuery设置和获取内容方法

    一.jquery尺寸 jQuery 提供多个处理尺寸的重要方法: width()    设置或返回元素的宽度(不包括内边距.边框或外边距),括号中可填数值宽度参数,无单位 height()   设置或 ...

  6. jQuery的序列化元素 serialize()方法 serializeArray()方法 param()方法

    当提交的表单元素较多时用serialize()方法,serialize()方法也是作用于一个jQuery的对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求. serialize() 方法通 ...

  7. 在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr。

    在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr. $("#checkAll").prop("checked", true ...

  8. 使用 jQuery 基本选择器获取页面元素,然后利用 jQuery 对象的 css() 方法动态设置 <span> 和 <a> 标签的样式

    查看本章节 查看作业目录 需求说明: 使用 jQuery 基本选择器获取页面元素,然后利用 jQuery 对象的 css() 方法动态设置 <span> 和 <a> 标签的样式 ...

  9. jQuery ajax - serializeArray() 方法

    定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身. ...

随机推荐

  1. linux 删除文件,df空间不变化

    今天遇到一个问题,就是linux服务器空间满了,可是删除了软件后. 查看空间,没有变化 ???啥情况 那么去查看删除的情况吧. [root@VM_0_4_centos usr]# lsof|grep ...

  2. OAuth2.0 授权的工作原理

    作者:Barret李靖链接:https://www.zhihu.com/question/19781476/answer/81020455来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  3. spark wordcont Spark: sortBy和sortByKey函数详解

    //统计单词top10def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("tst&q ...

  4. 【UE4】VR模式下全屏(去掉两侧的黑边)

    1.下载UE4源码,用Visual Studio打开源码找到指定文件,修改代码后重新编译得到一个新的UE4编辑器 2.将游戏项目在新的UE4中打开,重新编译. 参考: https://caedmom. ...

  5. [看门狗]基于Linux的嵌入式系统全程喂狗策略

    转自:http://blog.csdn.net/erickhuang1989/article/details/8721548 在嵌入式系统中,为了使系统在异常情况下能自动恢复,一般都会引入看门狗电路. ...

  6. Go Revel - Validation(验证)

    Revel提供了内建函数用于验证参数.它提供了: 一个`Validation`上下文集合来管理验证错误信息(键与消息内容) 辅助函数用于检查数据并将错误信息放入上下文 一个模板函数用于从`Valida ...

  7. shell脚本传递带有空格的参数的解决方法

    如下例子所示: #!/bin/sh dt= rdms_presql='select * from dm_general_stat where dimcode = "day" and ...

  8. Spark算子---实战应用

    Spark算子实战应用 数据集 :http://grouplens.org/datasets/movielens/ MovieLens 1M Datase 相关数据文件 : users.dat --- ...

  9. UMEditor(Ueditor mini)修改图片上传路径

    UMEditor(Ueditor mini)修改图片上传路径 imageUp.ashx string pathbase = "/UpLoad/images/"; //保存文件夹在网 ...

  10. thymeleaf传值onclick到js

    带有单引号 targetUrl('val') <a th:onclick="'javascript:targetUrl(\''+${indexURL.value}+'\');'&quo ...