2011-10-28 45 views
0

嗯......這個問題可能聽起來很傻,希望大家不要介意...關於選擇選項值

如果我有一個下拉列表:現在

<select name="myoption" onchange="document.textbox.value=this.value"> 
<option value="1">A</option> 
<option value="2">B</option> 
<option value="3">C</option> 
</select> 

<input type="text" name="textbox" id="textbox"> 

所以文本框將顯示所選內容,但可以顯示A,B,C而不是1,2,3?

實際上,我需要一個下拉列表,它會向2個文本框顯示2個不同的值,例如,如果選擇A,textbox1將顯示「A」,textbox2將顯示「1」。

我不知道這是否可能,我已經嘗試了一段時間了......有人可以給我一些提示嗎?

在此先感謝。

+0

你試過onchange =「document.textbox.value = this.text; document.textbox2.value = this.value」? – hafichuk

+0

@hafichuk感謝您的回覆,我試了一下,它顯示「未定義」錯誤。 –

回答

5

是的,這是可能的。我只是將所有javascript外部化爲單獨的文件以避免混合標記和腳本。

所以腳本:

// subscribe for the DOM ready event to ensure that you 
// are manipulating the DOM only when it is loaded 
window.onload = function() { 
    // subscribe for the onchange event of the dropdown 
    document.getElementById('myoption').onchange = function() { 
     // fetch the text of the currently selected element 
     var text = this.options[this.selectedIndex].innerHTML; 

     // and assign it to the corresponding input 
     document.getElementById('textbox').value = text; 
    }; 
}; 

和標記:

<select name="myoption" id="myoption"> 
    <option value="1">A</option> 
    <option value="2">B</option> 
    <option value="3">C</option> 
</select> 

<input type="text" name="textbox" id="textbox" /> 

live demo

+0

真的非常感謝你的例子和演示,你會幫助我很多Darin.Thanks再次,非常感謝。 –