serialize 和serializeobject 有区别么
1个回答
2016-10-25 · 知道合伙人软件行家
关注
展开全部
jQuery有方法$.fn.serialize,可将表单序列化成字符串;有方法$.fn.serializeArray,可将表单序列化成数组。
如果需要其序列化为JSON对象,那么可以基于serializeArray编写方法serializeObject轻松实现:
[javascript] view plain copy print?
//work with jQuery 1.x
jQuery.prototype.serializeObject=function(){
var obj=new Object();
$.each(this.serializeArray(),function(index,param){
if(!(param.name in obj)){
obj[param.name]=param.value;
}
});
return obj;
};
注:当表单中参数出现同名时,serializeObject会取第一个,而忽略后续的。
设有
[html] view plain copy print?
<form>
<input type="text" name="username" />
<input type="text" name="password" />
</form>
则
[javascript] view plain copy print?
jQuery("form").serialize(); //"username=&password="
jQuery("form").serializeArray(); //[{name:"username",value:""},{name:"password",value:""}]
jQuery("form").serializeObject(); //{username:"",password:""}
20150125更新
===========
+ 此版本不再兼容IE8
+ 修复一个逻辑错误
[javascript] view plain copy print?
//work with jQuery 2.x
jQuery.prototype.serializeObject=function(){
var hasOwnProperty=Object.prototype.hasOwnProperty;
return this.serializeArray().reduce(function(data,pair){
if(!hasOwnProperty.call(data,pair.name)){
data[pair.name]=pair.value;
}
return data;
},{});
};
如果需要其序列化为JSON对象,那么可以基于serializeArray编写方法serializeObject轻松实现:
[javascript] view plain copy print?
//work with jQuery 1.x
jQuery.prototype.serializeObject=function(){
var obj=new Object();
$.each(this.serializeArray(),function(index,param){
if(!(param.name in obj)){
obj[param.name]=param.value;
}
});
return obj;
};
注:当表单中参数出现同名时,serializeObject会取第一个,而忽略后续的。
设有
[html] view plain copy print?
<form>
<input type="text" name="username" />
<input type="text" name="password" />
</form>
则
[javascript] view plain copy print?
jQuery("form").serialize(); //"username=&password="
jQuery("form").serializeArray(); //[{name:"username",value:""},{name:"password",value:""}]
jQuery("form").serializeObject(); //{username:"",password:""}
20150125更新
===========
+ 此版本不再兼容IE8
+ 修复一个逻辑错误
[javascript] view plain copy print?
//work with jQuery 2.x
jQuery.prototype.serializeObject=function(){
var hasOwnProperty=Object.prototype.hasOwnProperty;
return this.serializeArray().reduce(function(data,pair){
if(!hasOwnProperty.call(data,pair.name)){
data[pair.name]=pair.value;
}
return data;
},{});
};
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询