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 讨论问题

    实例下载

  • 相关阅读:
    2019天梯赛训练1
    Python课程设计 搭建博客
    最容易理解的贪吃蛇小游戏
    数据结构-队列
    数据结构-堆栈(2)
    数据结构-堆栈(1)
    数据结构-线性表(3)
    数据结构-线性表(1)
    linux知识积累
    Maven学习笔记
  • 原文地址:https://www.cnblogs.com/yeminglong/p/3799282.html
Copyright © 2011-2022 走看看