jquery提供的serialize方法能够实现。
$("#searchForm").serialize();
但是,观察输出的信息,发现serialize()方法做的是将表单中的数据以htpp请求格式拼接成字符串。
serialize确实是能够解决一般的提交数据。但是有时我们需要的是一个object对象,而不是字符串(比如jqgrid reload时设置查询条件参数,就需要object对象)。
方法如下:
rush:js;">
(function(window,$) {
$.fn.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;
};
})(window,jQuery);
调用:
rush:js;">
console.info($("#searchForm").serializeJson());
下面通过一段代码看下jQuery序列化表单为JSON对象
rush:js;">
dio" name="sex" value="1"> 男
dio" name="sex" value="0"> 女
上述serializeObject方法是将form序列化为JSON对象
总结
以上所述是小编给大家介绍的jQuery序列化form表单数据为JSON对象的实现方法 。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。