html - 如何编写脚本将许多值粘贴到 HTML 中的许多部分
问题描述
示例entry
数据看起来像
{
acc : ["102 Cash on hand", "101 Cash at zummon Bank", "103 Cash at Wonder Bank", "300 Capital stock"],
amt : [800000.0, 100000.0, 100000.0, -1000000.0]
}
HTML 脚本部分。我想粘贴each entry data
到each part in HTML
帮助请!
function setEntry(entry) {
var lenEntry = entry.acc.length
for (var r=0; r < lenEntry; r++) {
document.getElementById("entryAccount")[r].value = entry.acc[r]
document.getElementById("entryAmount")[r].value = entry.amt[r]
}
}
HTML 部分
<div style="display:flex">
<div>
<label for="entryAccount">Account</label>
<input id="entryAccount" list="Account_list">
</div>
<div>
<label for="entryAmount">Amount</label>
<input id="entryAmount" type="number">
</div>
</div>
<div style="display:flex">
<div>
<label for="entryAccount">Account</label>
<input id="entryAccount" list="Account_list">
</div>
<div>
<label for="entryAmount">Amount</label>
<input id="entryAmount" type="number">
</div>
</div>
...
先感谢您
解决方案
您只能拥有一个具有 1 个 id 的元素。您不能有多个具有相同 ID 的元素。html 中的 id 是唯一的 - 感谢TheMaster的信息
因此,完成这项工作的一种方法是getElementsByClassName
接受许多值
对于 HTML 脚本部分
document.getElementById("entryAccount")[r].value = entry.acc[r]
document.getElementById("entryAmount")[r].value = entry.amt[r]
编辑为
document.getElementsByClassName("entryAccount")[r].value = entry.acc[r]
document.getElementsByClassName("entryAmount")[r].value = entry.amt[r]
对于 HTML 部分
<input id="entryAccount" list="Account_list">
<input id="entryAmount" type="number">
...
添加更多类getElement
<input class="entryAccount" id="entryAccount" list="Account_list">
<input class="entryAmount" id="entryAmount" type="number">
...
或者你可以摆脱那些id="..."
,如果你不介意,它仍然以同样的方式工作label for="..."
推荐阅读
- signalr - SignalR(原始)不向客户端发送消息
- acumatica - 如何从 Acumatica 中的 Ggraph 对象读取数据?
- sas - Proc Report-为不同的行分配不同的格式
- curl - Django 服务器拒绝所有 CURL 请求但邮递员请求成功
- java - Java FX MVC 多视图
- mysql - 如何在 VB.net 中使用多个结果
- cordova - 您对从单个代码库构建多个 ionic Cordova 应用程序有何想法?
- java - 如何将类型 T 传递给方法并让它推断类型?
- sas - SAS通过重新出现记录块来删除重复项
- reactjs - 如何重用带有样式组件的 ThemeProvider?