0

特定のオプションが選択されたときに非表示のテキストボックス onchange を表示する次の 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/最初の選択フィールドを見てください

4

2 に答える 2

3

optionリストに1 つしかない場合、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 に答える