序列化form表单

本文介绍了一种使用jQuery实现的序列化表单为JSON对象的方法。通过深入解析代码,展示了如何处理复杂的表单数据结构,如层级数据和数组数据,为前端开发者提供了实用的解决方案。

// 序列化JSON字符串
$.fn.serializeObject = function () {
    let o = {};
    let a = this.serializeArray();
    $.each(a, function () {
        let value = this.value;
        let chain = this.name.split(".");
        let c = o;
        $.each(chain, function (i, e) {
            if (i === (chain.length - 1)) {
                if (c[e]) {
                    if (!c[e].push) {
                        c[e] = [c[e]];
                    }
                    c[e].push(value || '');
                } else {
                    c[e] = value || '';
                }
            } else {
                if (!c[e]) {
                    c[e] = {};
                }
            }
            c = o[e];
        });
    });
    return o;
};

转载于:https://www.cnblogs.com/lovellll/p/10207944.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值