I tienen una etiqueta <select>
que contiene un solo elemento <option>
:¿Por qué Chrome no muestra un elemento <option> seleccionado después de usar el botón Atrás?
<select id="someselect">
<option value="2">B</option>
</select>
El único <option>
es posterior reemplazados utilizando jQuery. La nueva lista de opciones contiene siempre la vieja opción:
selected = $('#someselect').val();
$('#someselect').html('<option value="1">A</option><option value="2">B</option>').val(selected);
Esto funciona como se esperaba. Sin embargo, cuando se navega fuera de la página web en Google Chrome y luego hace clic en el botón Atrás, ocurre algo extraño. La etiqueta de selección vuelve a su estado inicial (tiene sentido), pero el elemento <option>
solo no está seleccionado.
¿Cuál es la causa de este comportamiento en Chrome?
He creado un ejemplo de trabajo mínima: http://dl.dropbox.com/u/27566470/backdemo.html
Inicialmente sólo hay un único <option>
. Primero haga clic en "hacer clic" para reemplazar las opciones (pero mantenga seleccionada la opción "B"), luego haga clic en "Google" para navegar, y luego use el botón Atrás de Chrome para ver la etiqueta <select>
con solo una opción que no está seleccionado.
Editar: para aclarar, no estoy interesado en cómo solucionar esto. Tengo curiosidad por qué Chrome funciona así. Servir el DOM original (sin modificar) después de usar el botón Atrás tiene sentido, pero ¿por qué no se selecciona la única opción de selección?
haga clic atrás, su página se 'renovará', puede obtenerla usando' GET' método en 'URL' y hacer un progreso o ' sessions' – Rafee