JavaScriptというよりはHTML寄りのメモになってしまうが、JavaScriptによる制御も混じりやすい内容なのでこちらにメモしておく。
select要素とは少しずれるが、<ul>や<li>とJavaScriptを組み合わせたDropDownメニューを使う場合がある。
この時、z-indexやpositionの指定によっては上手くDropDownメニューがオーバーラップしない場合があるらしい。そうした場合のトラブルシュートらしき記事が3件ほど見つかったので載せておく。
お仕事で試そうとしたのは、プルダウンメニューを開く時にAjaxでオプション項目を取得して生成し直す、という挙動。一応onMouseDownイベントに差し込む事で出来たのだけれど、onMouseDownイベント中でselectの要素をクリアしてAjaxの結果から追加し直す、とやってしまうと、現在選択中の項目が保持されず、項目が変わらなかった場合の挙動がおかしくなってしまう。
selectとoptions要素で実装するのは素直に諦めて、<div>やul/liなどの通常のDOM要素でプルダウンメニューを実装した方が良いかもしれない。
MSDNよりselect要素に関するMicrosoft公式ドキュメント: