Kox Blog

バグを知り、業務を知らば、システム危うからず

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  243  : 記事  0  : コメント  929  : トラックバック  35

ニュース

書庫

日記カテゴリ

リンク

違うプロジェクトの人から、JSPの再表示時の問い合わせを受けました。
「サーブレットの処理後、元の表示内容を保持した状態で再表示を行う際に
セレクトボックスの選択行が画面上に表示されないが、どうにかならないか。」
ということでメモ。

  <select name="select1" size=3>
    <option name="01">aaa</option>
    <option name="02">bbb</option>
    <option name="03">ccc</option>
    <option name="04" selected>ddd</option>
  </select>

上記のデータをサーバから返した場合は、4番目の選択された状態で画面に表示されます。
しかし

  <select name="select1" size=3 multiple>
    <option name="01">aaa</option>
    <option name="02">bbb</option>
    <option name="03">ccc</option>
    <option name="04" selected>ddd</option>
  </select>

selectタグが複数選択可(multiple)となっていた場合は、4番目が選択されているものの、表示は隠れてしまいます。

 

onload時にjavascriptにて制御してみます。

  function test(){
    if( select1.option[3].selected == true )
    select1.options[3].selected = true;
  }

一見無駄に見えますが、このようにすることで選択行を表示した状態にすることができました。

※検証
OK:IE、Firefox
NG:Opera
・・・いまいちだ。(IE限定サイトだから問題ないけど。)

 

投稿日時 : 2007年9月19日 18:43

コメント

# re: セレクトボックス、選択行へ自動遷移 2008/02/25 11:10 mugenloop
うまくいかないですね・・・

# re: セレクトボックス、選択行へ自動遷移 2008/09/12 15:00 fあふぁ
dふぁ

Post Feedback

タイトル
名前
Url:
コメント