Tengo una creados dinámicamente seleccione la opción utilizando una función de javascript. seleccione el objeto es
<select name="country" id="country">
</select>
cuando la función js es ejecutado, el «país» objeto
<select name="country" id="country">
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
...
<option value="ID">Indonesia</option>
...
<option value="ZW">Zimbabwe</option>
</select>
y muestra «Indonesia» como predeterminada la opción seleccionada. nota : no es selected="selected"
atributo de esa opción.
entonces la necesidad de establecer selected="selected"
atributo «Indonesia», y yo uso este
var country = document.getElementById("country");
country.options[country.options.selectedIndex].setAttribute("selected", "selected");
usando firebug, puedo ver el «Indonesia» opción como esta
<option value="ID" selected="selected">Indonesia</option>
pero no en IE (probado en IE 8).
y, a continuación, he intentado usar jQuery
$( function() {
$("#country option:selected").attr("selected", "selected");
});
falla tanto en el FFX y el IE.
Necesito el «Indonesia» opción a tener selected="selected"
atributo así que cuando hago clic en el botón de reset, se selecciona «Indonesia» de nuevo.
cambio de la función js para crear dinámicamente el «país» de las opciones no es una opción. la solución debe trabajar tanto en FFX y el IE.
gracias
Buena pregunta. Usted tendrá que modificar el código HTML en sí, en vez de depender de las propiedades DOM.
El código agarra la opción elemento de Indonesia, clones y lo pone en un nuevo div (no en el documento) para recuperar el pleno de la cadena HTML:
<option value="ID">Indonesia</option>
.A continuación, hace una cadena de reemplazar a agregar el atributo
selected="selected"
como una cadena, antes de cambiar a la opción original con esta nueva.He probado en IE7. Consulte con el botón de reset funciona correctamente aquí: http://jsfiddle.net/XmW49/
Estás overthinking es:
En lugar de modificar el código HTML en sí, sólo debe establecer el valor que desee de la relación opción de elemento:
En este caso, «ID» es el valor de la opción de «Indonesia»
Tantas respuestas incorrectas!
Para especificar el valor que un campo de formulario debería volver a restablecer el formulario, utilice las siguientes propiedades:
defaultChecked
<input>
de control:defaultValue
defaultSelected
Así, para especificar la opción actualmente seleccionada como predeterminada:
Puede ser una buena idea para establecer la
defaultSelected
valor para cada opción, en caso de que uno de ellos había sido previamente establecida:Ahora, cuando el formulario se restablece, la opción seleccionada será la que se especifica.
Lo que quiero hacer es establecer selectedIndex atributo del cuadro de selección.
Cambiar el atributo «seleccionado» generalmente no funcionan en IE. Si usted realmente quiere que el comportamiento que describes, te sugiero que escribir un javascript personalizado la función de reset para restablecer todos los otros valores en el formulario a sus valores predeterminados.
Esto funciona en FF, IE9
Bastante el loh.
selectedIndex
.selected='selected'
atributo es por lo general sólo para el código HTML. Si desea utilizar Javascript para hacer esto, usted debe utilizarselectedIndex
. De lo contrario, usted podría tratar deobj.setAttribute("selected","selected")
.Podría buscar todos los valores de las opciones hasta que encuentre la correcta.
Esto debería funcionar.
Si usted tiene la función de llamadas vinculado al elemento simplemente seguir con algo parecido
Hacer opción defaultSelected
HTMLOptionElement MDN
Si el elemento SELECT ya se ha agregado el documento (estática o dinámica), para establecer una opción para el Atributo
selected
y hacer sobrevivir unHTMLFormElement.reset()
–defaultSelected
se utiliza:JS:
HTML:
Los anteriores también el trabajo de generar las opciones de dinámicamente, y que (sólo después de) desea establecer una opción para ser
defaultSelected
.JS:
HTML:
Hacer opción defaultSelected mientras que la dinámica de la creación de opciones
A hacer una opción
selected
al rellenar el Elemento SELECT, el uso de laOpción()
constructor MDNJS:
HTML:
En la demo anterior Documento.createDocumentFragment se utiliza para prevenir la representación de los elementos en el interior de la catedral en un bucle. En cambio, el fragmento que contiene todas las Opciones) se anexa al Seleccionar sólo una vez.
SELECCIONE.valor vs OPCIÓN.setAttribute vs OPCIÓN.seleccionado vs OPCIÓN.defaultSelected
Aunque algunos (mayores) de los navegadores interpretan la OPCIÓN del
selected
atributo como un «cadena» estado, el WHATWG las Especificaciones de HTML html.spec.whatwg.org estado que debe representar un valor Booleano selectednessuno puede correctamente deducir que sólo el nombre
selected
en<option value="foo" selected>
es suficiente para establecer un truthy estado.Prueba de comparación de los diferentes métodos
JS:
HTML:
Aunque la prueba 2. el uso de
.setAttribute()
parece a primera de la mejor solución, ya que tanto la Propiedad del Elemento y Atributo se unísono, puede llevar a la confusión, especialmente porque.setAttribute
espera dos parámetros:realmente hacer la opción seleccionado
Se debe recurrir a las
.removeAttribute()
o tal vez.setAttribute('selected', ???)
a otro valor? O debe uno leer el estado mediante.getAttribute('selected')
o mediante el uso de.hasAttribute('selected')
?Lugar de la prueba 3. (y 4.) el uso de
defaultSelected
da la resultados esperados:selected
como un llamado Selectedness estado.selected
en el Elemento Objeto, con un valor Booleano.Para establecer la opción de entrada en tiempo de ejecución, ajuste el ‘checked’ valor. (incluso si no es una casilla de verificación)
Donde elem es una referencia a la opción de ser seleccionado.
Así que para el problema anterior:
Esto funciona para mí, incluso cuando las opciones no están envueltos en una .
Si todas las etiquetas de compartir el mismo nombre, se debe desmarcar cuando el nuevo se comprueba.
Damos cuenta que esta es una vieja cuestión, pero con la versión más reciente de JQuery ahora usted puede hacer lo siguiente:
Esto realiza lo mismo que Box9 la respuesta seleccionada en una línea.
option[value=ID]
y nooption[val=ID]
.Las ideas en esta página fueron útiles, pero como siempre mi situación era diferente. Así, en modal de bootstrap /express nodo js /aws beanstalk, esto funcionó para mí:
Donde mi
select ID = "cJourney"
y de la lista desplegable, el valor se almacena en la variable:vcJourney
Yo estaba tratando de hacer algo como esto usando el
$(...).val()
función, pero la función no existe. Resulta que usted puede ajustar manualmente el valor de la misma manera que lo hace para un<input>
:…y conseguir que se actualiza automáticamente en el select. Funciona en Firefox al menos, es posible que desee probar en los otros.