juery将自己form表单中序列化成对象格式

在ajax中有 serializeArray()方法 可以将form表单中的数据序列化成如下的格式
[
{
name: “a”,
value: “1”
},
{
name: “b”,
value: “2”
},
{
name: “c”,
value: “3”
},
{
name: “d”,
value: “4”
},
{
name: “e”,
value: “5”
}
]
但是有时候,我们需要将form表单序列化成对象的格式,那么封装一个简单的函数便会更简单
(function( ){ .fn.extend({
serializeObject:function(){
var o = {};
var a = this.serializeArray();
.each(a, function() {                 if (o[this.name]) {                     if (!o[this.name].push) {                         o[this.name] = [o[this.name]];                     }                     o[this.name].push(this.value || ”);                 } else {                     o[this.name] = this.value || ”;                 }             });             return o;          },          serializeJson:function(){              var serializeObj={};              var array=this.serializeArray();              var str=this.serialize(); (array).each(function(){
if(serializeObj[this.name]){
if($.isArray(serializeObj[this.name])){
serializeObj[this.name].push(this.value);
}else{
serializeObj[this.name]=[serializeObj[this.name],this.value];
}
}else{
serializeObj[this.name]=this.value;
}
});
return serializeObj;
}
});
})(jQuery);

猜你喜欢

转载自blog.csdn.net/idealname/article/details/82193366