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>

当我运行它时,我在警报框中得到“未定义”。如果我查看 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 回答