将表单元素序列为对象代码实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将表单元素序列为对象代码实例相关的知识,希望对你有一定的参考价值。
将表单元素序列为对象代码实例:
有时候将表单元素序列化一个对象然后再进行操作可能会更加便利,下面就是一段这样的代码能够实现此功能。
代码如下:
function serializeObject(form){ var o={}; $.each(form.serializeArray(),function(index){ if(o[this[‘name‘]]){ o[this[‘name‘]]=o[this[‘name‘]]+","+this[‘value‘]; } else{ o[this[‘name‘]]=this[‘value‘]; } }); return o; }
以上代码实现了我们的要求,可以将表单元素序列化为一个对象,下面对代码做一下简单注释。
一.代码注释:
1.function serializeObject(form){},参数是一个form表单对象,当然必须是jQuery对象。
2.var o={},声明一个空对象用来存储表单元素的名称和value值,对象的属性名称是表单元素name属性值,属性值是表单元素的value属性值。
3.$.each(form.serializeArray(),function(index){}),form.serializeArray()会返回一个数组,元素是对象直接量,每一个对象直接量包含两个两个名值对,一个是name/name属性值,另一个是value/value属性值。$.each()可以遍历创建的数组。
4.if(o[this[‘name‘]]){o[this[‘name‘]]=o[this[‘name‘]]+","+this[‘value‘];},如果对象中已经存在响应的属性名,那么就进行字符串连接然后再次重置属性值,这个适用于向多个同名复选框被选中的类似情况。
5.else{ o[this[‘name‘]]=this[‘value‘]; } ,创建属性并赋值。
6.return o,返回生成的对象。
二.相关阅读:
1.serializeArray()函数可以参阅jQuery的serializeArray()方法一章节。
2.对象直接量可以参阅js对象直接量简单介绍一章节。
原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13566
更多内容可以参阅:http://www.softwhy.com/jquery/
以上是关于将表单元素序列为对象代码实例的主要内容,如果未能解决你的问题,请参考以下文章
springboot~将一个Integer类型序列为k/v对象
如果序列为空,如何使LINQ的Max-function返回默认值?
jquery 对象的 heightinnerHeightouterHeight 的区别以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffset(代码片段