我如何从多个标签中获取多个数据,并将它们作为 json 存储在 javascript、jquery 中
Posted
技术标签:
【中文标题】我如何从多个标签中获取多个数据,并将它们作为 json 存储在 javascript、jquery 中【英文标题】:How can i get multiple data from multiple tags as store them as json in javascript, jquery 【发布时间】:2021-07-31 20:49:15 【问题描述】:<select class="form-control js-example-basic-single getDress" name="dress[]" id="dress"
style="width: 50%;">
<option></option>
</select>
<input type="text" class="form-control" id="amount" name="amount[]" style="width: 40%;"
placeholder="How many?">
<button type="button" class="btn btn-secondary" id="add-more"><i
class="fa fa-plus"></i></button>
</div
上面是html
let dress = document.getElementsByName('dress[]');
let amount = document.getElementsByName('amount[]');
let a, b, i;
for ( i = 0; i < dress.length && amount.length; i++)
a = dress[i];
b = amount[i];
let Dresses = [];
Dresses[i] = [a.value, b.value];
console.log(Dresses[i]);
let k, n = Dresses.length;
console.log(Dresses.length);
let tmp = [];
for (k = 0; k < n; k++)
tmp[k] = new DressDetails(Dresses[k][0], Dresses[k][1]);
console.log(tmp[k]);
let objJSON = JSON.stringify(tmp);
console.log(objJSON);
有没有办法将 JSON 响应组合在一起?因为我正在单独收到回复。
它给我的回复是["dressType":"T-Shirt","dressAmount":"2"]
。仅适用于 1 个输入。但是如果有多个输入,它会显示这个错误“Uncaught TypeError: Cannot read property '0' of undefined
”。
【问题讨论】:
您希望i < dress.length && amount.length
做什么?你的意思是i < dress.length && i < amount.length
?
@SebastianSimon。是的,这就是我的意思。但似乎你的更符合逻辑。
语义不同。 i < dress.length && amount.length
表示 “i
小于 dress
的 length
并且 amount
的 length
不是 0
”。
@SebastianSimon。请进一步解释。
请提供清晰的代码。
【参考方案1】:
你想要这样的东西吗?
let dress = [
value: 'dress1'
,
value: 'dress2'
]
let amount = [
value: 1
,
value: 2
]
const result = dress.map((dress, index) => (
dress: dress.value,
price: amount[index].value
))
console.log(result);
【讨论】:
是的。像这样。我想从每个标签的每个变量中获取多个值 这能回答你的问题吗?如果不是,预期的输出是什么? 这是预期的输出。但它并没有给我同样的输出 @bel2atar 上面的 html 是被复制以获得多个 json 响应的内容【参考方案2】:let dress = document.getElementsByName('dress[]');
let amount = document.getElementsByName('amount[]');
let a, b, i;
let Dresses = [];
let tmp = [];
for (i = 0; i < dress.length && i < amount.length; i++)
a = dress[i];
b = amount[i];
Dresses[i] = [a.value, b.value];
Dresses.forEach((Dresses, index) =>
tmp[index] = new DressDetails(Dresses[0], Dresses[1]);
// console.log( new DressDetails(Dresses[0], Dresses[1]));
// console.log('Index: ' + index + ' Value: ' + Dresses);
);
let objJSON = JSON.stringify(tmp);
console.log(objJSON);
终于搞定了。这是正确的格式。感谢您的帮助。
【讨论】:
以上是关于我如何从多个标签中获取多个数据,并将它们作为 json 存储在 javascript、jquery 中的主要内容,如果未能解决你的问题,请参考以下文章
如何获取多个Sample()矢量输出并将它们组合成一个数据帧
Swift - 如何从 Firebase 检索多个值并将它们显示在 UITABLEVIEW
Pandas:如何将多个数据帧作为 HTML 表格引用和打印