我有一个 <select>
包含单个 <option>
的标签元素:
<select id="someselect">
<option value="2">B</option>
</select>
单<option>
稍后使用 jQuery 替换。新的选项列表始终包含旧选项:
selected = $('#someselect').val();
$('#someselect').html('<option value="1">A</option><option value="2">B</option>').val(selected);
这按预期工作。但是,当离开 Google Chrome 中的网页然后单击后退按钮时,会发生一些奇怪的事情。 select 标签回到了它的初始状态(有意义),但是单个 <option>
未选择元素!
Chrome 中出现这种行为的原因是什么?
我创建了一个最小的工作示例:http://dl.dropbox.com/u/27566470/backdemo.html
最初只有一个 <option>
.首先点击“click”替换选项(但保持'B'选项被选中),然后点击“Google”导航离开,然后使用Chrome的后退按钮查看<select>
。只有一个未选中的选项的标记。
编辑:澄清一下,我对如何解决这个问题不感兴趣。我很好奇为什么 Chrome 会这样工作。在使用后退按钮后提供原始(未修改的)DOM 是有意义的,但为什么没有选择唯一的选择选项?
最佳答案
为了回答我自己的问题,这似乎是一个 Chromium 错误。我已经提交了一个当前已确认和分类的错误:http://code.google.com/p/chromium/issues/detail?id=125509
所以希望这应该在未来得到解决 :)
关于javascript - 为什么 Chrome 在使用后退按钮后不显示选定的 <option> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333973/