2011-05-05 82 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; 
} 
相關問題