当选择某个选项时,我有以下javascript来显示一个隐藏的文本框。当存在多个选项时,它可以正常工作。但是,当唯一的选项是使文本框出现的选项时,它就不起作用了。我也试过加载,但没有结果。
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/查看第一个选择字段
如果列表中只有一个option
,则onchange
事件不会激发。改为使用onclick
:
<select name="task" onclick="showOther(this, 'new');">
(JSFiddle请:http://jsfiddle.net/8bm9R/7/)
为了防止这种行为并能够使用onchange
,最好在列表中添加一些默认选项,比如"选择工作"。。
onchange Event仅在发生更改时触发。你可以这样做:请选择。。。
或者:
<select name="jobs" onmouseup="showOther(this,'new');">