2011-05-05 83 views
0

参照关于从一个文本框复制值问题的另一个复制值从一个文本框到另一个

Replicating the values to another textbox

解决方案的工作很好,如果只有两个文本框。但是当索引在循环中运行时失败。

对于防爆 - 让我们考虑表中有每行的文本框列表

第一排TextBox1的TextBox2中
第二排textbox3 textbox4

每盒的ID是基于状态指数产生。当我更新textbox1中的值时,textbox2得到更新。但是,当我更新textbox3,而不是更新textbox4.textbox2更新。

回答

0

因为链接代码直接更新textbox2。将ids放入数组中并遍历它以设置每个文本框的值,例如

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',...); 
}; 

或一些类似的策略。

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; 
} 
相关问题