0

ページに選択入力があります。この選択入力は、フォームのフィールドを表示/非表示にします。これはすべて正常に機能します。しかし、問題は、フォームを送信して必要なフィールドが不足していると、後でselectが正しい値に設定されないことです。埋め込まれたRubyを機能させることができません!それはすべてを逃れ続けます...ここに私のコード:

$(document).ready(function() {
$("#profile_sex").val('<%= @profile.sex %>')
   $("#profile_sex").change(function(){



    ($(this).val() == "Frau") ? $('#form-female').show() : $('#form-female').hide();
    ($(this).val() == "Mann") ? $('#form-male').show() : $('#form-male').hide();
    if ($(this).val() == "Paar") {
        $('#form-female').show(); 
        $('#form-male').show();
    }       
  });

});

なぜこれが機能しないのですか?エラーや、値を「<%= @ profile.sex =>」に設定するだけのエラーは発生しません。スタックオーバーフローとrailscast、rails APIなど、すべてをグーグルで検索していました。私はひどく混乱しています...

ご協力いただきありがとうございます。

4

3 に答える 3

1

JSスクリプトは、埋め込まれたRubyコードを実行しません。これを解決する方法の説明は次のとおりです。

http://bitprison.net/rails3_dynamic_javascript

于 2011-01-13T08:50:20.837 に答える
0

jsvarsを確認することをお勧めします。私は自分のプロジェクトの1つでそれを使用していますが、それはかなり素晴らしいです。ハッシュに割り当てることで、JavaScript変数をコントローラーで直接設定できます。

jsvars[:profile_sex] = @profile.sex

次に、 $( "#profile_sex")。val(profile_sex);を実行できます。スクリプトで。それはあなたの問題を解決し、同時に物事をより美しくするかもしれません。

ちょっとした考え!

于 2010-08-12T08:07:07.680 に答える
0

の周りの目盛りを削除してみてください'<%= @profile.sex %>'

値の周りにチェックマークが必要な場合は、試してください' + <%= @profile.sex %> + '

于 2010-08-11T20:38:52.343 に答える