zoukankan      html  css  js  c++  java
  • [转][jQuery]serializeObject 扩展

    转自:https://www.cnblogs.com/jwlfpzj/p/7997774.html
    /*
    * .serializeObject (c) Dan Heberden
    * danheberden.com
    *
    * Gives you a pretty object for your form elements
    */
    (function ($) {
        $.fn.serializeObject = function () {
            if (!this.length) {
                return false;
            }
    
            var $el = this,
                data = {},
                lookup = data; //current reference of data
    
            $el.find(':input[type!="checkbox"][type!="radio"][type!="button"], input:checked').each(function () {
                // data[a][b] becomes [ data, a, b ]
                var named = this.name.replace(/([^]+)?\]/g, ',$1').split(','),
                    cap = named.length - 1,
                    i = 0;
    
                for (; i < cap; i++) {
                    // move down the tree - create objects or array if necessary
                    lookup = lookup[named[i]] = lookup[named[i]] ||
                        (named[i + 1] == "" ? [] : {});
                }
    
                // at the end, psuh or assign the value
                if (lookup.length != undefined) {
                    lookup.push($(this).val());
                } else {
                    lookup[named[cap]] = $(this).val();
                }
    
                // assign the reference back to root
                lookup = data;
            });
    
            return data;
        };
    })(jQuery);
  • 相关阅读:
    [TCP/IP]TCP的三次握手和四次挥手

    思考
    jQuery完整的事件委托(on())
    jQuery队列动画
    jQuery自定义动画
    jQuery淡入淡出
    jQuery滑动动画
    jQuery基本动画
    jQuery基础3
  • 原文地址:https://www.cnblogs.com/z5337/p/15618847.html
Copyright © 2011-2022 走看看