博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery方法.serializeArray()获取name和value并转为json数组
阅读量:5854 次
发布时间:2019-06-19

本文共 821 字,大约阅读时间需要 2 分钟。

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添加的图片元素。

转载于:https://www.cnblogs.com/beileixinqing/p/9068861.html

你可能感兴趣的文章
vs环境c++语言教学视频,基于VS Code的C++语言的构建调试环境搭建指南
查看>>
质数口袋c语言,给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正...
查看>>
c语言修改,【C语言】修改下
查看>>
单片机红外通信c语言,用51单片机实现红外通讯源码
查看>>
android 字符串转浮点,Android String类型转换为float、double和int的工具类方法
查看>>
android和flutter关系,Flutter 和 Android 互相传递数据的实现
查看>>
android mobile wifi,华为mobile wifi 2下载-HUAWEI Mobile WiFi 2 安卓版v9.0.1.323-PC6安卓网
查看>>
windows phonegap android,phonegap windows 安装
查看>>
android fragment共享监听,Android Fragment中监听事件
查看>>
android应用开发大赛,喜讯:我院首届“Android应用开发大赛”圆满落幕
查看>>
android蓝牙交互,Android蓝牙通信app
查看>>
将pyecharts的html页面,使用pyecharts生成Echarts网页的实例
查看>>
webview屏蔽加载某段html,分段中的WebView不加载HTML字符串
查看>>
html自定义datajs,HTML5的自定义属性data-*详细介绍和JS操作实例
查看>>
『摄影欣赏』15幅迷人的来自世界各地的婴儿照片【组图】
查看>>
Jquery-Ajax常用总结
查看>>
每日英语:U.S. Media Firms Stymied in China
查看>>
sql转Linq的工具
查看>>
17、屏幕适配,多语言支持,手机类型适配
查看>>
第37周二
查看>>