gpt4 book ai didi

javascript - 使用 jQuery 获取控件属性并创建 json

转载 作者:行者123 更新时间:2023-12-02 17:30:43 24 4
gpt4 key购买 nike

我在 View 中有多个复选框,每个复选框都有一些数据属性,例如:

enter image description here

单击按钮后,我将遍历所有选定的复选框,我想要做的是获取每个选定复选框的数据价格和值字段并创建 JSON 数组。

这是我到目前为止所拥有的:

var boxes2 = $("#modifiersDiv :checkbox:checked");
var selectedModifiers = [];
var modifierProperties = [];
for (var i = 0; i < boxes2.length; i++) {

for (var k = 0; k < boxes2[i].attributes.length; k++) {
var attrib = boxes2[i].attributes[k];
if (attrib.specified == true) {
if (attrib.name == 'value') {
modifierProperties[i] = attrib.value;
selectedModifiers[k] = modifierProperties[i];
}
if (attrib.name == 'data-price') {
modifierProperties[i] = attrib.value;
selectedModifiers[k] = modifierProperties[i];
}
}
}
}
var jsonValueCol = JSON.stringify(selectedModifiers);

我无法获取每个复选框的值,并且只能获取第一个复选框的值,而且格式不正确,这就是我得到的 JSON:

[null,"67739",null,"1"]

如何获取正确的数据?

最佳答案

您可以使用 $.each 来解析 jquery 数组,例如:

var jsonValueObj = [];
$("#modifiersDiv :checkbox:checked").each(function(){
jsonValueObj.push({'value':$(this).val(),'data-price':$(this).attr('data-price')});
});
jsonValueCol = JSON.stringify(jsonValueObj);

请注意,通常使用 val() 比 attr('value') 更好。有关此内容的更多信息,请参阅以下线程:What's the difference between jQuery .val() and .attr('value')?

至于你的代码,你最多只有一个答案,因为每次进入循环时你都会覆盖结果。否则没问题(除了格式,但我们不确定您到底想要什么格式)。您能否提供一个您想要的结果的示例?

关于javascript - 使用 jQuery 获取控件属性并创建 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085520/

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