2

我认为这将是一个微不足道的功能,但我已经失去了相当多的头发试图弄清楚它。我有一个带有选择菜单的 jquery 移动网页。用户单击下拉列表中的项目,然后单击链接并导航到另一个页面。用户然后单击返回按钮。期望的结果是所选项目保持选中状态。现在,选择丢失了,它再次默认为列表中的第一个元素。

我尝试过的事情:1)使用带有自动回发的asp.net下拉列表。这保留了选定的选项,但随后我得到一个页面闪烁,因为整个页面都被回发了。

2) 在更新面板中包装 asp.net 下拉列表。这会保留,不会闪烁,但会消除 jquery 移动样式。还尝试了一些建议的解决方法来触发 jquery create 事件,但没有任何工作。

3)在javascript中的select change事件上写入cookie,在asp page_load事件中读取。但是,单击后退按钮时不会调用 page_load,因此这没有效果。

4) 尝试创建对网页方法的 jquery ajax 请求,但该方法必须是静态的,因此我无法使用它来修改页面。

还有其他想法吗?是我一个人还是这确实是一个已经解决了一百万次的问题?

作为一个仅供参考,我是网络编程的新手,所以如果你有答案,请拼出来:)(来自 c++/数据库背景)。

谢谢!

4

1 回答 1

1

事实证明,在某些情况下,即使日期滚动条也无法使用后退按钮。例如,如果用户导航到另一个站点,然后使用后退按钮返回到我的 jquery 移动站点,我所有的 javascript dom 操作都将丢失。解决方案并非易事。我使用 html 5 本地存储来存储维护页面状态所需的所有内容。在 jqm 显示页面事件中,我检测是否所有全局变量都已被清除,如果是,则从本地存储重新加载状态。工作完美,但这是一项相当大的实施任务。当然,如果底层浏览器不支持本地存储,这一切都会崩溃。

于 2012-12-07T19:41:36.477 回答