当选择某个选项时,我有以下javascript来显示隐藏文本框onchange。当存在多个选项时,它可以正常工作。但是,当唯一的选项是使文本框出现的选项时,它将无效。我试过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/查看第一个选择字段
答案 0 :(得分:3)
如果列表中只有一个option
,则onchange
事件不会触发。请改用onclick
:
<select name="task" onclick="showOther(this, 'new');">
(JSFiddle please:http://jsfiddle.net/8bm9R/7/)。
要防止此行为并且能够使用onchange
,最好在列表中添加一些默认选项,例如“选择作业”。
答案 1 :(得分:0)
仅在更改事件时才会触发onchange事件触发器。你可以这样做: 请选择......
或者也许:
<select name="jobs" onmouseup="showOther(this,'new');">