0

我有以下JavaScript在选择某个选项时显示隐藏的文本框。当存在多个选项时,它工作正常。但是,当唯一的选项是使文本框出现的选项时,它将不起作用。我也试过 onload 没有结果。

       function showOther(fieldObj, otherFieldID)
            {

                var fieldValue = fieldObj.options[fieldObj.selectedIndex].value;
                var otherFieldObj = document.getElementById(otherFieldID);

                otherFieldObj.style.visibility = (fieldValue=='other') ? '' : 'hidden';

                return;
            }`

这是工作小提琴http://jsfiddle.net/8bm9R/2/查看第一个选择字段

4

2 回答 2

3

如果option列表中只有一个,则onchange事件不会触发。改用onclick

<select name="task" onclick="showOther(this, 'new');">

(请 JSFiddle:http: //jsfiddle.net/8bm9R/7/)。
为了防止这种行为并能够使用onchange,最好在列表中添加一些默认选项,例如“选择工作”..

于 2013-06-25T09:27:36.963 回答
0

onchange 事件仅在发生更改时触发。你可以这样做:请选择...

或许:

<select name="jobs" onmouseup="showOther(this,'new');">
于 2013-06-25T09:32:47.487 回答