zoukankan      html  css  js  c++  java
  • jquery将表单序列化json对象

     $.fn.serializeObject = function () {
                var obj = {};
                var count = 0;
                $.each(this.serializeArray(), function (i, o) {
                    var n = o.name, v = o.value;
                    count++;
                    obj[n] = obj[n] === undefined ? v
                    : $.isArray(obj[n]) ? obj[n].concat(v)
                    : [obj[n], v];
                });
                //obj.nameCounts = count + "";//表单name个数
                return JSON.stringify(obj);
            };
    
    
    调用示例:var serStr = $('#form1').serializeObject();

    上面的插件,不能适用于有多个值的输入控件,例如复选框、多选的select。下面,我将插件做进一步的修改,让其支持多选。代码如下:

    (function($){  
            $.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;  
            };  
        })(jQuery);  

    欢迎大家加入QQ群: 15129679 讨论问题

    实例下载

  • 相关阅读:
    176. Second Highest Salary
    175. Combine Two Tables
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
    169. Majority Element
    168. Excel Sheet Column Title
    167. Two Sum II
    160. Intersection of Two Linked Lists
    个人博客记录
    <meta>标签
  • 原文地址:https://www.cnblogs.com/yeminglong/p/3799282.html
Copyright © 2011-2022 走看看