1

我有一个包含两个select元素的表单,我在父选择上绑定了一个onchange事件,该事件使用 ajax 填充子选择的选项。我用 jQuery 绑定事件,但onchange为了简单起见,在下面的示例中使用了一个属性。

<select id="parent_select" onchange="getOptions($(this).val(),'child_select');">
    <option>A</option>
    <option>B</option>
    ...
</select>
<select id="child_select"></select>

提交表单会将用户带到一个新页面。如果他们使用浏览器的后退按钮返回,则父选择仍将具有选定的选项(至少在 chrome 中)。但是,不会填充子选择,这是预期的。

解释这种情况并填充子选项的最佳方法是什么?

到目前为止,我已经想出检查父母是否在$(document).on('ready',function(){...});. 有没有更好的方法?

4

1 回答 1

2

您可以使用 URL 哈希来记录和恢复页面状态。

请参阅:使用单页网站并使用 URL 哈希和 jQuery 维护状态

主要示例向您展示了如何使用哈希。您需要使用 like 记录选择了哪个元素#S1=3,然后在页面加载时查找该值,并相应地设置您的索引SELECT

于 2013-10-23T19:30:05.017 回答