前言:
我们在开发web的时候,往往会用到表单的序列化,这里写了一个表单序列化的插件,第一次写可
能还不是很好!上一篇转载的文章介绍了如何写jQuery插件,如果有看不懂的jQuery插件的可
以参考一下上一篇文章!
知识点一:写Jquery插件
插件代码:
(function ($) {
$.fn.getFormJSON = function (options) {
var defaultSetting = $.extend({ //设置默认值 "isRepeat": true //是否开启多个值的输入控件,例如复选框、多选的select }, options);
var jsonObj = {};
if (defaultSetting.isRepeat) {
$.each(this.serializeArray(), function () { var $name = this.name; if (jsonObj[$name]) {//判断jsonObj里面是否有数据 if ($.isArray(jsonObj[$name])) {//判断jsonObj的属性是否是数组 jsonObj[$name].push(this.value); } else { jsonObj[$name] = [jsonObj[$name], this.value]; } } else { jsonObj[$name] = this.value; } });
} else {
$.each(this.serializeArray(), function () { var $name = this.name; if (!(jsonObj[$name])) {//判断jsonObj内是否有this.name属性 ---只保留第一个值 jsonObj[$name] = this.value; } });
}
return jsonObj;
}