gpt4 book ai didi

javascript - 如何从嵌套的复选框中获取对象数组中的值?

转载 作者:行者123 更新时间:2023-11-30 06:10:09 27 4
gpt4 key购买 nike

在我的网站上,我有一个从 JSON 动态生成的复选框树,现在我需要在以下对象中获取选中的值,这些对象将变成这样的对象数组:

var config = {
negozio: 1,
cassa: [{
CS: 1,
operatore: []
}]
};

negozio 是顶级父复选框 cassa 是第一个子复选框,它可以包含另一个名为 operore 的复选框级别,实际上我试图在复选框输入的 'on.change' 方法中做这样的事情

var config = [];
$(".nav").on("change", "input[type='checkbox']", function () {


var selezione = {
cassa: [{
operatore: []
}]
};

$(".check-negozio").each(function () {
if (this.checked || this.indeterminate) {
const npv = $(this).attr('data-npv');
if (npv != null)
selezione.negozio = npv;
$(".check-cassa").each(function () {
if (this.checked || this.indeterminate) {
const cs = $(this).attr('data-cs');
if (cs != null)
selezione.cassa.push({ CS: cs });
$(".check-operatore").each(function () {
if (this.chedked) {
const op = $(this).attr('data-op');
if (op != null)
selezione.cassa.operatore.push({ OP: op });
}
})
}
})
}
})

config.push(selezione);
console.log(config)
//$.post("api/prodotti/post/", config);
});

问题在于,使用以下方法,operore 和 CS 处于分离的级别,因此对象如下所示:[{ cassa: [{ CS: 1 }, { operore: [] }], negozio: "0"}] 当它应该是 [{ cassa: [{ CS: 1, operore: [] }], negozio: "0"}]

这是一个JSFiddle带有 HTML 和 JS 代码的实例

最佳答案

按照上面的代码,您首先将 CS 对象压入 operatore 对象到 cassa 数组中。相反,您可以尝试准备好 CSoperatore 值,然后将它们绑定(bind)到一个对象中并推送到 cassa 中。像这样:

selezione.cassa.push({ CS: cs , operatore: op });

关于javascript - 如何从嵌套的复选框中获取对象数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59370327/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com