jQuery表单获取,封装对象方法扩展

使用jQuery获取表单数据,只有serlisize方法和serlisizeArray方法都不是自己想要的,

所以自己封装了一个获取表单数据为对象的方法,以后用到的时候就不用重复去写了

本方法获取表单时,如果数据为空会返回一个空字符串如{name:""}

本方法扩展到jQuery对象上面,调用方法$("form").serializes();

 1 $.fn.serializes = function() {
 2         var params = {};
 3         var data = this.serializeArray();
 4         $.each(data, function(name, value) {
 5             var key = this.name;
 6             var value = this.value;
 7             if (params[this.name] !== undefined) {
 8                 if (!params[key].push) {
 9                     params[key] = [params[key]];
10                 }
11                 params[key].push(value || "");
12             } else {
13                 params[key] = value || "";
14 
15             }
16         });
17           //以下代码单选框复选框为空时,赋值为空字符串,不需要的可以删除
18         var $radio = $('input[type=radio],input[type=checkbox]', this);
19         $.each($radio, function() {
20             if (!params.hasOwnProperty(this.name)) {
21                 params[this.name] = '';
22             }
23         });
24         return params;
25     }

 

  

posted @ 2018-08-09 10:02  jackie-ren  阅读(1481)  评论(0编辑  收藏  举报