刷新后,请保留选定的选项(表格/选择)



可能的重复:
html选择选项丢失的数据

我有一个选择菜单,该菜单应在页面刷新后保留所选选项。这是一个例子:

<select id="form_frame" name="frame" onchange="getData(this);"/>
   <option value="data1" selected="selected">Data 1</option>
   <option value="data2">Data 2</option>
</select>

功能getData只需将信息拉到用户。

我正在为动态内容使用Smarty/PHP。

开放建议,谢谢!

如何使用本地存储:

$(function() {
    if (localStorage.getItem('form_frame')) {
        $("#form_frame option").eq(localStorage.getItem('form_frame')).prop('selected', true);
    }
    $("#form_frame").on('change', function() {
        localStorage.setItem('form_frame', $('option:selected', this).index());
    });
});

小提琴

将所选选项元素的ID或值放在您的PHP会话($_SESSION['selected_option_id'])中,以此方式将此值传递到所有页面中。然后更改生成选项元素的代码再次检查$_SESSION['selected_option_id'],如果它与之匹配,则在选项元素中设置所选属性。

会议是在请求之间共享值的好方法,因为HTTP是无状态协议。

我更喜欢在localstorage和cookie之前的会话,因为可能在客户端浏览器中不可用或启用这些会话。会话是Apache/PHP的功能,在服务器侧受支持。

PHP会话处理

您可以使用cookie。但是,如果您希望它为不接受网站cookie的用户使用它,请使用标签附加URL。您更新标签的选择字段的选择。页面的on载,您检查了一个现在的哈希标签,并将选择设置为匹配的选项。

最新更新