firefox drop-down-menu refresh

Firefox ignora la opción seleccionada="seleccionada"



drop-down-menu refresh (20)

Si cambia un menú desplegable y actualiza la página, Firefox parece ignorar el atributo seleccionado.

<option selected="selected" value="Test">Test</option>

De hecho, seleccionará la opción que había seleccionado previamente (antes de la actualización). Esto termina siendo un problema para mí ya que hay un evento desencadenado en el menú desplegable que cambia otras cosas. ¿Hay alguna manera de hacer que Firefox detenga este comportamiento (aparte de disparar otro evento cuando se carga la página)?


AFAIK, este comportamiento está codificado en Firefox.

Podría intentar configurar cada elemento del formulario en su defaultValue en la carga de la página.


Agregue el atributo HTML autocomplete="off" a cada etiqueta de selección. (fuente: https://.com/a/8258154/260080 )

Esto corrige el comportamiento de ODD en Firefox.


Con el nombre es mejor = >>

form id="UMForm" name="UMForm" class="form"

El seleccionar tomará el atributo seleccionado


En Firefox, he notado que el atributo "seleccionado" no funcionará a menos que coloque la selección dentro de un formulario, donde el formulario tiene un atributo de nombre.


En el trabajo, acabo de corregir un error en el que la opción de cuadro de selección se muestra correctamente en Chrome pero no en Firefox, en la misma página web. Resultó ser algo completamente diferente a los problemas anteriores, pero podría ser un problema que estás experimentando.

En Chrome, el color de fuente del cuadro de selección era negro. Por alguna razón, en Firefox, el cuadro de selección heredó el color de fuente del contenedor, que era blanco. Una vez que agregué una regla CSS para forzar que el cuadro de selección de color de fuente fuera negro, el valor establecido se mostraba correctamente.



Es tal vez un error en mozilla, pero intenta darle un nombre al menú desplegable.


Esta es mi solución:

var select = document.getElementById(''my_select''); for(var i=0; i < select.options.length; i++){ select.options[i].selected = select.options[i].attributes.selected != undefined; }

Acabo de poner eso en la parte superior de la página (con el conjunto de identificación adecuado), y funciona para mí. Reemplazando el getElementById con un ciclo sobre todo selecciona en la página, lo dejo como un ejercicio para el lector;).


Estoy usando FF 25.0.1

Ignora selected="" y selected="selected" .

Pero si simplemente intento selected la opción está seleccionada.

Comportamiento extraño (no conforme). Sé que selected es HTML5 válido y es la forma más corta, pero generalmente escribo código que también valida como XML bien formado, de modo que pueda usar cualquier herramienta de validación XML para verificar mis resultados de una manera muy estricta (y el intercambio de datos es muy fácil. ..)

Según W3C, estas variantes deberían ser válidas en atributos booleanos:

HTML5: boolAttr="" | boolAttr="boolAttr" | boolAttr XHTML5: boolAttr="" | boolAttr="boolAttr"

Prefiero el primero, ya que es casi tan breve como la última variante (que no cumple con xml) pero debe validar como XHTML5 Y HTML5. ¡Así que espero que Mozilla lo arregle!


Ni autocomplete="off" ni colocarlo dentro de un form me funciona.

Lo que funcionó fue usar solo el atributo seleccionado sin ningún "valor" como este:

<option @(Model.Source == TermSource.Instagram ? "selected" : "")> Instagram </option> <option @(Model.Source == TermSource.Facebook ? "selected" : "")> Facebook </option>

por lo tanto, muestra <option selected>...</option> , o simplemente <option>...</option>


Para mí, ninguna de las soluciones anteriores funcionó. Tuve que establecer explícitamente la selección si no se configuró ninguna:

if (foo.find('':selected'').length === 0) { $(foo.find(''option'')[0]).attr(''selected'', ''selected''); }

Ojalá Firefox solucione esto :(


Para mostrar el primer elemento del menú desplegable, use ProjectName.ClearSelection();

Ponga líneas en su página de diseño para que funcionen en todos los navegadores Y también ponga esto en el código en la carga de la página.

$(document).ready(function () { $("#content_ProjectName option[value=''1'']").prop("selected", true); });


Puede llamar a .reset() en el formulario antes de actualizar la página.


Si cambia la selección y actualiza la página, Firefox restaurará sus cambios en el formulario, es por eso que siente que la selección no está funcionando. En lugar de actualizar, intente abrir el enlace en una nueva pestaña.


Solo tuve el mismo problema, créanme que han pasado más de 10 horas luchando con este estúpido comportamiento de Firefox, tengo 7 listas desplegables, cada una de ellas activará un evento y completará 24 entradas ocultas, por lo que puede imaginarse teniendo la opción correcta seleccionada con 24 valores de entrada incorrectos !!! la solución que finalmente encontré es restablecer el formulario con Javascript agregando esta línea de código:

window.onload = function() { document.forms[''MarkerForm''].reset(); };

PD: las entradas tienen los valores extraídos de una base de datos, por lo que restablecer el formulario no vacía ningún valor, pero de alguna manera le dice a firefox que retroceda a la opción seleccionada = seleccionada.


autocompletar tampoco funcionaba para mí.

Esta es la revisión javscript escrita en jquery que uso:

$(''input[type="radio"][selected]'').click();


encierre seleccionar en el atributo de formulario y funcionará.

<!-- will not work in firefox --> <option selected="selected" value="Test">Test</option>

y

<!-- this will work in firefox --> <form> <option selected="selected" value="Test">Test</option> </form>


tratar de deshabilitar el atributo de autocomplete de la entrada de selección ... a veces el navegador ignorar select debido a eso


use .prop () en lugar de .attr ()

This does not work in firefox. $( ''option[value="myVal"]'' ).attr( ''selected'', ''selected'' ); use this one $( ''option[value="myVal"]'' ).prop( ''selected'', ''selected'' ); In other way $( this ).prop( ''selected'', ''selected'' );


<option selected="selected" value="Test">Test</option>

En este caso, esto funcionó tanto para Chrome como para Firefox.

$(''option[value="Test"]'').prop(''selected'', true);

Estaba usando .attr() lugar de .prop()