2011-10-28 170 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再次,非常感谢。 –