1

ここの助けのおかげで、コードのサンプルが機能するようになりました。それを実際に適用しようとすると、何かがうまく機能しません。

私の見解(new.html.erb)では、次のようになっています。

<%= f.hidden_field :addtl_attendee_payment, :value => Addtl_attendee_charge %>

(Addtl_attendee_charge は構成ファイルから取得されます)

私のjavascriptファイルには、次のものがあります。

function display_value() {
    var a = $("#addtl_attendee_payment");
    alert(a.val());
}

私のnew.html.erbの別の場所には、次のものがあります。

<script><%= "display_value()" %></script>

これを実行すると、アラート ボックス内に「未定義」と表示されます。(firefly を使用して) HTML を見ると、次のようになります。

<input id="payment_addtl_attendee_payment" type="hidden" value="500" name="payment[addtl_attendee_payment]">

お支払いは機種名です。これは、テスト コードで機能したのと同じ種類のコードです。何か案は?

ノート:

モデル名は Payment であることに注意してください。属性名に payment を追加しませんでしたが、Rails が自動的に追加しました。私はjavascriptファイルで別のバリエーションを試しました:

function display_value() {
    var a = $("#payment_addtl_attendee_payment");
    alert(a.val());
}

しかし、それもうまくいきませんでした (同じメッセージが表示されます)。payment_ を追加するのは正常で、Rails によって行われると思います (ただし、初心者なので間違っている可能性があります)。

4

3 に答える 3

4

レンダリングされたマークアップに異なる ID があることに注意してください。

var a = $("#payment_addtl_attendee_payment");
于 2012-10-29T14:20:58.707 に答える
0

こんにちは、IDが固定されている場合は、使用できます

 var a = $("#payment_addtl_attendee_payment");

値を取得するため、またはこのコードを使用できます

 var a = $("#_addtl_attendee_payment");
于 2012-10-29T14:40:30.897 に答える
0

非表示フィールドに一意のクラス属性を追加して、それを介して値にアクセスできないのはなぜですか。

<%= f.hidden_field :addtl_attendee_payment, :class="some_unique_class_id", :value => Addtl_attendee_charge %>

そして、以下のように値にアクセスできます。

function display_value() {
    var a = $(".some_unique_class_id");
    alert(a.val());
}
于 2012-10-29T18:29:43.273 に答える