• ベストアンサー

コンボボックスへの入力に関して

教えて下さい。 selectのコンボボックスを使用して、プルダウンを作成したいと考えて いますが、そのコンボボックスを手入力も可能としたいと考えて います。 何か良い方法はないでしょうか??? サンプル的なものを教えて頂けれ幸いです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

どのようなインターフェースにするのかをきちんと決めておかないと、操作しにくいものになりそう… ご参考まで。(細かいところはいい加減) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head><title>test</title> <style type="text/css"> select, input { width:8em; } </style> <script type="text/javascript"> <!-- function test(evt) { var i, tp = evt.type, t = evt.target || evt.srcElement; var pair = document.getElementsByTagName(tp === 'blur'?'SELECT':'INPUT'); for (i=0; i<pair.length; i++) if (pair[i].name == t.name) break; pair = i<pair.length?pair[i]:null; if (tp === 'change') { if (pair) pair.value = t.value; } else if (tp === 'keydown') { var c =evt.keyCode; if (pair && (c != 9 && c != 13 && c != 38 && c != 40)) { t.style.display = 'none'; pair.style.display = 'inline'; pair.focus(); } } else if (tp === 'blur') { if (t.value) { pair.options.length = 4; pair.options[4] = new Option(t.value, t.value); pair.options[4].selected = true; } t.style.display = 'none'; pair.style.display = 'inline'; } } --> </script> </head> <body> <select name="sel1" onchange="test(event)" onkeydown="test(event)"> <option value="" selected> <option value="v1">v1 <option value="v2">v2 <option value="v3">v3 </select> <input type="text" name="sel1" value="" onblur="test(event)" style="display:none;"> </body> </html>

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

HTMLのコンボボックスは 入力できないわ。 <input type="text">と<select>を 上手に組み合わせるしかないわね。

関連するQ&A