使用 forEach 或 for 循环 (JS) 从 JSON 提要填充表单字段
Populating form fields from JSON feed using forEach or for loop (JS)
我有这样的表单字段
<input id="first">
<input id="second">
<textarea id="third"></textarea>
...
我需要用 JSON 提要中的数据动态填充它们。
每个字段的 ID 对应于每个 JSON 的键,所以我可以这样填充这些字段:
first.value = feed.first;
second.value = feed.second;
third.value = feed.third;
...
但我想让它更简单。
这是我试过的:
["first", "second", "third"].forEach(e => {e.value = feed[e]});
遗憾的是,它不起作用。在控制台中,我可以看到 JSON 提要的值 (feed[e]
),但表单字段是空白的。
我做错了什么?
如有任何建议,我们将不胜感激。
请使用eval函数。
[“第一”、“第二”、“第三”].forEach(e => {eval(e).value = feed[e]});
您可以尝试使用 document.getElementById 来获取特定的 DOM 元素
然后分配你想要的值。
const feed = {
'first': 'hello',
'second': 'word',
'third': '!'
};
['first', 'second', 'third'].forEach(e => {
document.getElementById(e).value = feed[e]
});
下面的link是完整的演示。
https://jsfiddle.net/2x0o8d4m/1/
我有这样的表单字段
<input id="first">
<input id="second">
<textarea id="third"></textarea>
...
我需要用 JSON 提要中的数据动态填充它们。 每个字段的 ID 对应于每个 JSON 的键,所以我可以这样填充这些字段:
first.value = feed.first;
second.value = feed.second;
third.value = feed.third;
...
但我想让它更简单。
这是我试过的:
["first", "second", "third"].forEach(e => {e.value = feed[e]});
遗憾的是,它不起作用。在控制台中,我可以看到 JSON 提要的值 (feed[e]
),但表单字段是空白的。
我做错了什么?
如有任何建议,我们将不胜感激。
请使用eval函数。
[“第一”、“第二”、“第三”].forEach(e => {eval(e).value = feed[e]});
您可以尝试使用 document.getElementById 来获取特定的 DOM 元素
然后分配你想要的值。
const feed = {
'first': 'hello',
'second': 'word',
'third': '!'
};
['first', 'second', 'third'].forEach(e => {
document.getElementById(e).value = feed[e]
});
下面的link是完整的演示。
https://jsfiddle.net/2x0o8d4m/1/