<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のWebページから移動して、[戻る]ボタンをクリックすると、奇妙なことが起こります。selectタグは初期状態に戻ります(意味があります)が、単一の<option>
要素は選択されていません!
Chromeでこの動作が発生する原因は何ですか?
最小限の実用的な例を作成しました:http://dl.dropbox.com/u/27566470/backdemo.html
最初は1つだけ<option>
です。最初に[クリック]をクリックしてオプションを置き換え(ただし、[B]オプションを選択したままにします)、[Google]をクリックして移動し、Chromeの[戻る]ボタンを使用して、<select>
オプションが1つだけのタグを表示します。選択されていない。
編集:明確にするために、私はこれを修正する方法に興味がありません。Chromeがこのように機能する理由に興味があります。戻るボタンを使用した後に元の(変更されていない)DOMを提供することは理にかなっていますが、選択オプションのみが選択されていないのはなぜですか?