Me preguntaba si es posible hacer que jQuery seleccione un <option>
, digamos el cuarto elemento, en un cuadro desplegable.
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
Quiero que el usuario haga clic en un enlace, luego haga que el <select>
cuadro cambie su valor, como si el usuario lo hubiera seleccionado haciendo clic en <option>
.
javascript
jquery
html
drop-down-menu
html-select
punteado
fuente
fuente
Respuestas:
Qué tal si
ejemplo en http://www.jsfiddle.net/gaby/CWvwn/
para versiones modernas de jquery deberías usar el en
.prop()
lugar de.attr()
ejemplo en http://jsfiddle.net/gaby/CWvwn/1763/
fuente
selectElement.selectedIndex = index;
es lo que quiere decir Jack.selectedIndex
no se puede usar para la selección múltiple cuandomultiple
se usa el atributo. Y la forma normal ( html ) de establecer elementos seleccionados es elselected
atributo de losoption
elementos.selected
propiedad de cadaoptions
elemento correspondiente atrue
(y opcionalmente el restofalse
explícitamente). Las selecciones múltiples son bastante desagradables en realidad :)onchange
evento nunca se activa cuando el valor se cambia programáticamente. Puede agregar un.trigger('change')
al final para disparar también el evento ( aunque se disparará independientemente del valor que haya cambiado )La solución:
fuente
selected
opción en el HTML.Los elementos de selección HTML tienen una
selectedIndex
propiedad en la que se puede escribir para seleccionar una opción en particular:Usando JavaScript simple, esto se puede lograr mediante:
fuente
.trigger()
eso, pero como ya está haciendo esto con código, también sería fácil llamar a los manejadores de cambios usted mismo.Lo haría de esta manera
fuente
Si sus opciones tienen un valor, puede hacer esto:
'select' sería la identificación de su selección o un selector de clase. o si solo hay una selección, puede usar la etiqueta como está en el ejemplo.
fuente
La forma más fácil es la
val(value)
función:Y para obtener el valor seleccionado no das argumentos:
Además, si tienes
<option value="valueToSelect">...</option>
, puedes hacer:MANIFESTACIÓN
fuente
Use el siguiente código si desea seleccionar una opción con un valor específico:
fuente
fuente
Prefiero nth-child () a eq () ya que usa indexación basada en 1 en lugar de 0, lo que es un poco más fácil para mi cerebro.
fuente
Con el elemento '' usualmente usamos el atributo 'value'. Será más fácil configurar entonces:
fuente
Prueba esto:
¡Saludos!
fuente
responde con id:
fuente
Una advertencia aquí es que si tiene la observación de JavaScript para el evento de cambio de selección / opción, debe agregar
.trigger('change')
para que el código se convierta.porque solo llamar
.attr('selected', 'selected')
no desencadena el eventofuente