3

私は次の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 %>

しかし、私がそうするとき、提出されたときに「金額」はまだ空白になっています。なぜ何かアイデアはありますか?

4

1 に答える 1

2

input要素にid属性があることを確認してください(名前属性だけではありません)。#amountは、id属性がなければ何も意味しません(ただし、問題がある場合は、input [name = amount]を使用できます)。

于 2012-12-22T04:25:37.767 に答える