刷新窗口后,下拉列表未保持选中状态

Dropdown list is not remain selected after refreshing the window

本文关键字:状态 窗口 下拉列表 刷新      更新时间:2023-09-26

我有一个像下面这样的下拉列表:

    <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');
  });

当我从下拉列表中选择价格时,价格应该保持选中状态,但在刷新窗口后不会发生。我在轨道上使用红宝石.

我不知道这里发生了什么。

有没有人可以指导我?

谢谢

您可以使用以下内容(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');
    });
});

请注意:如果您通过数据库填充,那么在呈现页面模板时,您应该添加selected属性,或者只是将该特定值添加为 localstorage 值。

希望你明白这个想法。

您必须将值存储在服务器端的任何位置,因此当页面重新呈现时,将根据所选值自动选择值

使用 Rails select_tag helper 而不是 javascript

<%= select_tag(:order_by, options_for_select([['Default', 'Default'], ['Price', 'Price'], ['Color', 'Color']], selected: params[:order_by] )) %>