• 締切済み

<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>

みんなの回答

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

multipleの場合「複数選択可能」なので、必ずしも、一つだけ選択状態になっているわけではないのでは? 同時に表示できない、2つが選択されている場合はどうするのでしょうか? もし、初期状態が必ず一つ選択で、それを表示させておきたいというのであれば、No1様の回答のように最初に書いておけばよさそうですね。 optionの順番を変えてもよいのであれば、スクリプトで選択されている項目(複数可)を先頭に移動するとか? 実際には、ご提示の後半のソースのままで、fx(3.5)やOpera(10)では初期表示で「シルバー」の部分が表示された状態になりますけれど?

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

単に <option value="silver" selected> シルバー を<option>の先頭に書けば、よいだけじゃない。 それとも、毎回先頭の項目を変えたいという希望?

関連するQ&A