-2

次のようなドロップダウン リストがあります。

    <select class="span2" id ="sort" name= "order_by">
           <option >Default</option>
           <option >Price</option>
           <option >Color</option>
    </select>

そして、私はこれのために変更イベントハンドラーを持っています:

$('select#sort').change(

  function(){       
    $(this).closest('form').trigger('submit');
  });

ドロップダウンリストから価格を選択すると、価格は選択されたままになりますが、ウィンドウを更新した後は価格が表示されません.Ruby on Railsを使用しています。

ここで何が起こっているのかわかりません。

私を案内してくれる人はいますか?

ありがとう

4

3 に答える 3

2

You can use the following(Javascript/jQuery Solution) :

$(document).ready(function(){
    var selected_val = localStorage.getItem("sort");
    $("#sort").val(selected_val);//This would set the value from local-storage as selected value

    $("#sort").change(function(){
       var selected =  $("#sort").val();
       localStorage.setItem("sort", selected);//Setting the selected value in localstorage
       $(this).closest('form').trigger('submit');
    });
});

Please note that : If you are populating via database then while rendering the page template, you should be adding selected attribute then or just add that particular value as the localstorage value.

Hope you get the idea.

于 2013-11-11T12:06:23.153 に答える
0

JavaScript の代わりに Rails の select_tag ヘルパーを使用する

<%= select_tag(:order_by, options_for_select([['Default', 'Default'], ['Price', 'Price'], ['Color', 'Color']], selected: params[:order_by] )) %>
于 2013-11-11T12:03:29.870 に答える