Tengo el siguiente <select>
elemento HTML :
<select id="leaveCode" name="leaveCode">
<option value="10">Annual Leave</option>
<option value="11">Medical Leave</option>
<option value="14">Long Service</option>
<option value="17">Leave Without Pay</option>
</select>
Usando una función de JavaScript con el leaveCode
número como parámetro, ¿cómo selecciono la opción adecuada en la lista?
javascript
html
dom
brasskazoo
fuente
fuente
Respuestas:
Puedes usar esta función:
fuente
element.dispatchEvent(new Event('change'));
Si está utilizando jQuery, también puede hacer esto:
Esto seleccionará el
<option>
con el valor de 14.Con Javascript simple, esto también se puede lograr con dos
Document
métodos :Con
document.querySelector
, puede seleccionar un elemento basado en un selector CSS:Usando el enfoque más establecido con
document.getElementById()
, eso, como lo implica el nombre de la función, le permitirá seleccionar un elemento basado en suid
:Puede ejecutar el siguiente código recortado para ver estos métodos y la función jQuery en acción:
Mostrar fragmento de código
fuente
fuente
No responde la pregunta, pero también puede seleccionar por índice, donde i es el índice del elemento que desea seleccionar:
También puede recorrer los elementos para seleccionar por valor de visualización con un ciclo:
fuente
Comparé los diferentes métodos:
Comparación de las diferentes formas sobre cómo establecer un valor de una selección con JS o jQuery
código:
Salida en una selección con ~ 4000 elementos:
Con Firefox 10. Nota: La única razón por la que hice esta prueba fue porque jQuery tuvo un rendimiento súper pobre en nuestra lista con ~ 2000 entradas (tenían textos más largos entre las opciones). Tuvimos aproximadamente 2 s de retraso después de un val ()
Nota también: estoy configurando el valor dependiendo del valor real, no del valor del texto.
fuente
Eso debería establecer la selección en "Vacaciones anuales"
fuente
Probé las soluciones basadas en JavaScript / jQuery anteriores, como:
y
en una aplicación AngularJS, donde había un elemento <select> requerido .
Ninguno de ellos funciona, porque la validación del formulario AngularJS no se activa. Aunque se seleccionó la opción correcta (y se muestra en el formulario), la entrada permaneció inválida (las clases ng-pristine y ng-invalid todavía están presentes).
Para forzar la validación de AngularJS, llame a jQuery change () después de seleccionar una opción:
y
fuente
fuente
La forma más fácil si necesita:
1) Haga clic en un botón que define la opción de selección
2) Vaya a otra página, donde la opción de selección es
3) Haga que el valor de esa opción se seleccione en otra página
1) los enlaces de sus botones (por ejemplo, en la página de inicio)
(donde contact.php es su página con opciones de selección. Tenga en cuenta que la URL de la página tiene? option = 1 o 2)
2) ponga este código en su segunda página (mi caso contact.php )
3) seleccione el valor de la opción, según el botón en el que haya hecho clic
.. y así.
Entonces, esta es una manera fácil de pasar el valor a otra página (con la lista de opciones de selección) a través de GET en la URL. Sin formularios, sin identificaciones ... solo 3 pasos y funciona perfecto.
fuente
¿Por qué no agregar una variable para el Id del elemento y convertirlo en una función reutilizable?
fuente
Supongamos que su formulario se llama form1 :
fuente
Debería haber algo en este sentido:
fuente
Si usa PHP, puede intentar algo como esto:
fuente
Lo más probable es que quieras esto:
O
fuente
using JavaScript
.fuente
Me temo que no puedo probar esto en este momento, pero en el pasado, creo que tuve que dar una identificación a cada etiqueta de opción, y luego hice algo como:
Si eso no funciona, tal vez lo acerque a una solución: P
fuente
select()
método (que no define ningún métodos adicionales sobre el conjunto estándar en todos los elementos HTML). Sin embargo, puede establecer laselected
propiedad en true.