参考有关将值从一个文本框复制到另一个文本框的问题
Replicating the values to another textbox
如果只有两个文本框,解决方案效果很好。但是当索引在循环上运行时它会失败。
对于Ex - 我们认为该表包含每行中的文本框列表
第1行textbox1 textbox2
第二行textbox3 textbox4
每个框的id是根据状态索引生成的。当我更新textbox1中的值时,textbox2会更新。但是当我更新textbox3时,更新textbox4.textbox2而不是更新。
答案 0 :(得分:0)
因为链接代码直接更新textbox2。将id放在一个数组中并迭代它以设置每个文本框的值,例如
function updateTextareas(el) {
var value = el.value;
for (var i=1, iLen=arguments.length; i<iLen; i++) {
document.getElementById(arguments[i]).value = value;
}
}
然后你可以这样称呼它:
document.getElementById('input1').onkeyup = function () {
updateTextareas(this,'textbox2','textbox3',...);
};
或类似的策略。
答案 1 :(得分:0)
为集合中的所有元素指定相同的名称(或类名,并使用getElementsByClassName)。然后在javascript中执行以下伪代码:
// onmodify:
var name = thisTextarea.name;
var newText = thisTextarea.text;
var elementsToUpdate = document.getElementsByName(name);
for each textarea in elementsToUpdate {
if (textarea != thisTextarea) // may not even need this line
textarea.text = newText;
}