使用 hidden_​​field_tag 助手将 JavaScript 变量的值传递给 Rails 视图

San*_*yal 2 javascript jquery ruby-on-rails

我使用 jQuery 设置了一个 JavaScript 程序来更改各种表单字段中的用户输入值。

$(document).ready(function(){
    $("#billAmt").keyup(function(){
        var a = $("#billAmt").val();
        var b = a*3/100;
        var d = "<%= current_user.balance %>";
        var c = d - b;
        $("#cashBack").val(b);
        $("#total").val(c);
    });
});
Run Code Online (Sandbox Code Playgroud)

这个 JavaScript 代码在里面form_tag,我想将 #cashBack 传递给隐藏字段。

我喜欢:

<%= hidden_field_tag :cashBack, nil, :id => "cashBack", :value => ''%>
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,params[:cashBack]是空的。那么,我如何传递值并在每次更改值时更改。

小智 5

为了设置隐藏的文本字段,您必须使用纯 javascript 而不是 JQuery。

$("#cashBack").get(0).value = b;                  
Run Code Online (Sandbox Code Playgroud)