【问题标题】:How to pass updating javascript variable into form to controller in Ruby on Rails?如何将更新的javascript变量传递给Ruby on Rails中的控制器?
【发布时间】:2012-12-22 12:25:37
【问题描述】:

我有以下 javascript:

<script type="text/javascript" charset="utf-8">
$(function() {
    $( "#slider-range" ).slider({
        range: true,
        min: 200,
        max: 2000,
        values: [ 800, 1200 ],
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
        }
    });

    $( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
        " - $" + $( "#slider-range" ).slider( "values", 1 ) );

});

代码创建了一个价格范围和一个滑块,价格范围随着用户移动滑块而滑动。 我想将最低价格和最高价格传递到如下形式:

<%= form_tag laptops_path, :method => 'get' do %>
    <%= hidden_field_tag "amount", params[:amount] %>

<%= submit_tag "Search", :name => nil %>

但是当我这样做时,“金额”在提交时仍然是空白的。任何想法为什么?

【问题讨论】:

  • 好细节!非常好的问题。
  • 这三个乍一看似乎没有问题。您能否检查一下您在 GUI 中的 amount 元素是否已更新为所需的值?
  • 我从 slm 中感受到了讽刺。 :)

标签: javascript ruby-on-rails-3 jquery-ui jquery


【解决方案1】:

确保您的输入元素具有 id 属性(不仅仅是名称属性)。 #amount 没有 id 属性意味着什么(但是,如果有问题,您可以使用:input[name=amount])。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多