1

有一些我有点困惑的东西。我编写了一个非常基本的函数来将值从<option>嵌套在<select>使用onclick事件中的元素传递到另一个文本输入。它在 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>          
4

1 回答 1

3

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

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

使用onchange下拉事件本身就是诀窍。现在,将每个数字作为每个选项的值:

<option value="0000001760">Oxleas Nhs Trust</option>                                                              
<option value="0000000876">Sheffield Northern General Hospital</option>
...
于 2013-06-04T11:03:13.060 回答