JavaScript为数据分配数字

时间:2019-01-17 05:00:59

标签: javascript loops

假设我有10个文本框要输入一些文本 其中之一类似于以下内容

<td class="dedefault">
<input type="hidden" name="RSTS_IN" value="RW">
<label for="box_id1"><span class="fieldlabeltextinvisible">BOX</span></label>
<input type="text" name="ID_IN" size="6" maxlength="5" id="box_id1">
</td>

箱子的唯一变化是箱子编号 所以我想在“ box [i]”中输入一些文本

var x,i;
for (i=1; i<10; i++) {
     x = box_id[i];
     document.getElementById(x).value = "12345";
}

但是它不起作用。如何调整代码?

2 个答案:

答案 0 :(得分:0)

您没有定义任何box_id

据您所知,您正在尝试制作box_id(some number)
您需要构建可以使用string literal或简单的string concatenation进行操作的字符串。

var x,i;
for (i=1; i<10; i++) {
     x = `box_id${i}`;
     let ele = document.getElementById(x);
     if(ele) ele.value = "12345";
}
<td class="dedefault">
<input type="hidden" name="RSTS_IN" value="RW">
<label for="box_id1"><span class="fieldlabeltextinvisible">BOX</span></label>
<input type="text" name="ID_IN" size="6" maxlength="5" id="box_id1">
<input type="hidden" name="assoc_term_in" value="">
<input type="hidden" name="start_date_in" value="">
<input type="hidden" name="end_date_in" value="">
</td>

答案 1 :(得分:0)

box_id不是数组。使其成为字符串,然后将i附加到字符串上。

for (i=1; i<=10; i++) {
    
     document.getElementById('box_id'+i).value = "12345";
}
<td class="dedefault">
<input type="hidden" name="RSTS_IN" value="RW">
<label for="box_id1"><span class="fieldlabeltextinvisible">BOX</span></label>
<input type="text" name="ID_IN" size="6" maxlength="5" id="box_id1"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id2"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id3"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id4"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id5"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id6"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id7"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id8"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id9"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id10"/>
</td>