私が計画している機能は、選択タグから選択した番号に応じて、いくつかのフォーム要素を挿入することです。
number_of_passengersというselectタグがあり、選択した番号に新しい乗客フィールドを動的に追加する予定です。number_of_passengersから2を選択すると、2つのフォームがフィールドセットに表示されます。これらのフォームには、名前、年齢、体重などが含まれています。
私はこれに従ってみました:
それをhaml-speakに変換しただけですが、:javascriptタグを使用するとエラーが発生します。また、JavaScriptタグに入ると、「エスケープ」できないと思います。
:javascript
$('#number_of_passengers').change(function() {
var $num_of_passengers = $(this).val();
for($i=0; $i<$num_of_passengers;$i++) {
$('.passenger-info ul').append('<%= escape_javascript( render :partial => "new_passenger", :locals => {:booking => @booking }) %>');
}
})
また、私はform_forにいるので、@ booking変数をローカルに渡すにはどうすればよいですか?それは本当に複雑なようで、私は20回(最大20人の乗客)をループするだけで汚い方法を実行し、選択した数に応じてそれらを非表示/表示することを計画しています。でもそれは汚すぎると思いませんか?