連鎖選択の作成に問題があり、最終的にいくつかの SO ソリューションにパッチを適用することで解決策を見つけました。SOの精神で、私は最終的な解決策を投稿しています。jquery 1.10で動作します。
そして、みんなを幸せにするために、jsfiddle も含めました。=)
最終的な JSFiddle はこちら: http://jsfiddle.net/NNLh2/
チュートリアル:
2 つの選択ボックスがあるとします。
<select id="my_alert_type_id" size="2" name="my_alert[type_id]">
<option value="1">Live</option>
<option value="2">EOD</option>
</select>
<br>
<br>
<select id="my_alert_category_id" name="myalert[category_id]" size="10">
<option>select a feed type</option>
</select>
ユーザーが最初の選択からオプションを選択した後、2 番目の選択オプションを変更したい。最初に、SOからのこの回答を使用しました:
選択ボックスのすべてのオプションを削除してから、1 つのオプションを追加して jQuery で選択するにはどうすればよいですか?
そして、ページが実際にこの質問ですべての読み込みを完了したときに実行する必要があることがわかりました:
しかし、それでも思い通りにはいきませんでした。最初のボックスには 2 つのオプションがあり、それぞれの選択に応答するコードが必要でした。それを if/then ブロックにラップし、選択したときに気の利いたコードを実行する必要がありました。
すごい。私は C#/php/ruby/C 開発者です。これらすべての $ と関数について、私は一体何を知っているのでしょうか? Javascript は C フォーマットをエミュレートしようとするため、if-then ブロックでラップし、この質問の助けを借りて:
最初の選択の値を変数に割り当ててから、気の利いたjavascriptのreplace-the-options部分を実行することができました。
そしてビオラ!これで、機能する基本的な連鎖選択ができました。追加部分を調整することで、好きなように置き換えることができます。これは Rails プロジェクト用なので、次の部分はこれらすべてを動的に作成する方法です。しかし、今のところ、私は私のお粗末なソリューションを楽しんで、プロジェクトを進めます。
Rails のユーザーの場合: Rails と js は実際には相互に対話しないため、これらの追加オプションを動的に作成する場合は、escape_javascript を使用してレンダリングし、渡す URL をカスタム作成します。そして、常にjson経由で渡します。それについて話すSOに関する他の質問があります。調べてみてください。私はあなたのためにすべてを行うことはできません。=P