0

背景

我有一个带有 2 个下拉选项 A 和 B 的视图页面 (abc.html.haml)。A、B 是包含一组记录的列表,我通过 UI 展示其部分。

默认情况下,在点击控制器#index 操作(通过浏览器 url 调用)时,页面会填充 A 列表中的记录。

然后我有一个 Ajax 调用,它在选择下拉菜单时使用列表 B 中的记录填充同一页面。假设我现在使用下拉选项从状态 A 移动到 B。

问题

曾经,我在页面中填充了列表 B 中的记录,现在,在页面刷新时,我的下拉菜单仍然保持相同的状态“B”,但是在页面刷新时从控制器#action 加载的默认记录集来自列表 A(因此下拉菜单的状态应为“A”)。

关于如何解决这个问题的任何意见?

谢谢。

4

1 回答 1

1

我不确定我是否完全理解您的问题,但我能想到一些选择:

  • 在下拉菜单中进行选择时,使用 javascript 更改 URL。您可以将参数添加到可以反映下拉列表状态的 URL,然后您可以在页面加载时解析这些参数。

  • 给用户一个您控制的刷新按钮,然后您可以在刷新时将信息发送回控制器,以便您加载正确的默认值。

  • 在用户进行选择时,通过 ajax 调用将当前用户选择存储在数据库中。我不知道您的应用程序的上下文,所以我不知道这有多可行。然后,如果它们存在,您显然可以在页面加载时加载它们。

然而,最简单的选择是重置页面刷新的所有控件,我认为用户无论如何都希望这种行为。

于 2012-08-08T14:26:58.507 回答