• 締切済み

<select> selectedについて

ある動的検索結果用ページから下記のファイルが、読み込まれその結果ページ上部に、 地域で絞り込むセレクトプルダウンが表示されます。 その結果ページのセレクトプルダウンの地域を再度選択しまして、結果が返された時に、 選択した地域名をセレクトプルダウンに表示させたいのですが、上手く動かず地域で絞るが 毎回表示されます。 <サンプル> <script type="text/javascript"><!-- function navi(value){ navi_option = document.getElementById("cityId").getElementsByTagName('option'); for(i = 0; i < navi_option.length; i++){ if(navi_option[i].value == value){ navi_option[i].selected = true; document.searchForm.cityId.options[i].selected= true; break; } } } // --></script> <select name="cityId" id="cityId" onClick="navi(value);"> <option value="0" >- 地域で絞る -</option> <option value="169">池袋東口</option> <option value="170">池袋西口</option> <option value="85" >大塚・巣鴨</option> <option value="131">赤羽</option> <option value="164">田端・王子</option> ・ ・ ・ ・ ・ </select> -略- javascriptの部分をどのように実装すれば良いでしょうか? javascriptは、初心者なので、ご教授願えれば幸いです。 宜しくお願い致します。

みんなの回答

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

状況がよくわからないけれど、 「新しく読込んだhtmlファイル(ページ上部とあるので、ajaxで読込んでいるのかなぁ?)の中のセレクト要素に、それ以前に選択していた値を表示させたい。」 ということと解釈しました。 新しく読込むので、最初にはhtmlにマークアップされた通りが表示されます。 ご提示のスクリプトはその表示内容を取得して、その値をセットしようとしている(?)ような雰囲気に見えます。(意図が読めないけれど) それなので、結局は何もしないのと同じ。(もとの値が表示されるだけ) どのような状態で、セットしたい値が選択されていて、その情報がどこにあるのか不明なので、なんとも判りかねますが、セットしたい値をスクリプトで保持しておくか、あるいは、もしページ全部が書き換えられるのであれば、クッキーなどに一時的に保存しておくなどが必要かと思われます。 (新しく読込まれたDOM内を探しても、その情報はないので) また、ご提示のスクリプトの実行はセレクト要素のonclickに設定されていますが、(↑)の最初の想定があっているのなら、その部分を書き込んだとき(ajaxの場合)またはonload(ページ遷移の場合)などで、新しく表示された時にセレクトの内容がセットされているのが自然ではないでしょうか? これ以上は、ご提示の情報からではなんとも…

JACK_TOSHI
質問者

お礼

fujillin 様 早々 回答ありがとうございます。 >もしページ全部が書き換えられるのであれば、クッキーなどに 一時的に保存しておくなどが必要かと思われます。 ヒントとなりました。 DBを使用して javaで作成したページの一部を、静的に作り直す作業が発生しましてjavascriptで簡単に出来るかな?という思いから質問させて頂きました。 良いヒントをありがとうごさいました。

関連するQ&A