- 締切済み
<select> をmultiple にしている場合で、指定したサイズ
<select> をmultiple にしている場合で、指定したサイズより、optionが多い場合には、 スクロールバーが出ると思いますが、 下の方のoptionでスクロールしないと見れない項目を初期選択状態にしても、 最初にリストを表示したときには、スクロールが一番上にある状態で、 初期選択されているoptionが見えない状態になってしまいます。 multipleではないときは、初期選択状態のoptionのところまでスクロールバーが移動していて、 リストを表示したときには、スクロールバーを移動しなくても、初期選択のoptionを見ることができます。 【▼初期選択が見れるようにスクロールが移動している】 <HTML> <SELECT name="color" size=6 > <option value="red"> 赤 <option value="blue"> 青 <option value="yellow"> 黄 <option value="white" > 白 <option value="black"> 黒 <option value="purple"> 紫 <option value="orange"> オレンジ <option value="pink"> ピンク <option value="gold"> ゴールド <option value="silver" selected> シルバー </SELECT> </HTML> 【▼初期選択が見えない。スクロールが一番上にある】 <HTML> <SELECT name="color" size=6 multiple> <option value="red"> 赤 <option value="blue"> 青 <option value="yellow"> 黄 <option value="white" > 白 <option value="black"> 黒 <option value="purple"> 紫 <option value="orange"> オレンジ <option value="pink"> ピンク <option value="gold"> ゴールド <option value="silver" selected> シルバー </SELECT> </HTML>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
multipleの場合「複数選択可能」なので、必ずしも、一つだけ選択状態になっているわけではないのでは? 同時に表示できない、2つが選択されている場合はどうするのでしょうか? もし、初期状態が必ず一つ選択で、それを表示させておきたいというのであれば、No1様の回答のように最初に書いておけばよさそうですね。 optionの順番を変えてもよいのであれば、スクリプトで選択されている項目(複数可)を先頭に移動するとか? 実際には、ご提示の後半のソースのままで、fx(3.5)やOpera(10)では初期表示で「シルバー」の部分が表示された状態になりますけれど?
- yyr446
- ベストアンサー率65% (870/1330)
単に <option value="silver" selected> シルバー を<option>の先頭に書けば、よいだけじゃない。 それとも、毎回先頭の項目を変えたいという希望?