将值从select传递到文本输入

Passing value from select to text input with javascript mystery

本文关键字:文本 输入 select      更新时间:2023-09-26

我有点困惑。我写了一个非常基本的函数,通过使用onclick事件将<option>元素嵌套在<select>中的值传递到另一个文本输入。它在Firefox中工作得很好,但在任何其他浏览器中都不能工作,我不知道为什么,因为控制台没有显示任何错误。

函数是这样的:

function getSPO(spoc)
{
var answer = document.getElementById('ANSWER.TTQ.MENSYS.7.');
answer.value = spoc;
} 

HTML是这样的:

<tr><td>Sponsor</td><td>
<select>
<option onclick="getSPO('0000001760')">Oxleas Nhs Trust</option>                                                              
<option onclick="getSPO('0000000876')">Sheffield Northern General Hospital</option>                                       
<option onclick="getSPO('0000001426')">The Royal Hospitals Nhs Trust</option>                                       
<option onclick="getSPO('0000001563')">Coventry Healthcare Nhs Trust</option>                                         
<option onclick="getSPO('0000002713')">Barking, Havering & Redbridge</option>
<option onclick="getSPO('0000012578')">Hammersmith Hospital Nhs Trust</option>                                                     
<option onclick="getSPO('0000012580')">Hammersmith Hospital Nhs Trust</option>
</select>
</td></tr>          

<option>标签不应该有onclick事件。将代码改为:

<select onchange="getSPO(this.value);">

使用下拉列表本身的onchange事件是一个技巧。现在,将每个数字作为每个选项的值:

<option value="0000001760">Oxleas Nhs Trust</option>                                                              
<option value="0000000876">Sheffield Northern General Hospital</option>
...