随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

[转][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);
复制代码

 

posted on   z5337  阅读(65)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-11-29 [转][Centos]常用命令之:ls和cd
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示