Usando jQuery, ¿cómo verifica si hay una opción seleccionada en un menú de selección y, si no, asigna una de las opciones como seleccionada?
(La selección se genera con un laberinto de funciones PHP en una aplicación que acabo de heredar, por lo que esta es una solución rápida mientras comprendo esas :)
javascript
jquery
forms
dom
html-select
melancólico
fuente
fuente
Respuestas:
Si bien no estoy seguro de qué es exactamente lo que quieres lograr, este fragmento de código funcionó para mí.
fuente
$("#mySelect").val(3);
$("#mySelect option")[2]['selected'] = true;
descubrí eso después de investigar las estructuras de objetos en Firebug.$("#mySelect").prop("selectedIndex", 2)
No es necesario usar jQuery para esto:
fuente
Esta pregunta es antigua y tiene muchas opiniones, por lo que simplemente lanzaré algunas cosas que ayudarán a algunas personas, estoy seguro.
Para verificar si un elemento seleccionado tiene algún elemento seleccionado:
o para verificar si una selección no tiene nada seleccionado:
o si está en un bucle de algún tipo y desea verificar si el elemento actual está seleccionado:
para verificar si un elemento no está seleccionado mientras está en un bucle:
Estas son algunas de las formas de hacer esto. jQuery tiene muchas formas diferentes de lograr lo mismo, por lo que generalmente solo debe elegir cuál parece ser la más eficiente.
fuente
La respuesta de lencioni es lo que recomendaría. Puede cambiar el selector de la opción
('#mySelect option:last')
para seleccionar la opción con un valor específico usando "#mySelect option[value='yourDefaultValue']
". Más sobre selectores .Si está trabajando extensamente con listas seleccionadas en el cliente, consulte este complemento: http://www.texotela.co.uk/code/jquery/select/ . Eche un vistazo a la fuente si desea ver más ejemplos de cómo trabajar con listas seleccionadas.
fuente
Aquí está mi función cambiando la opción seleccionada. Funciona para jQuery 1.3.2
fuente
fuente
¡Fácil! El valor predeterminado debería ser la primera opción. ¡Hecho! Eso lo llevaría a JavaScript discreto, porque JavaScript no es necesario :)
JavaScript discreto
fuente
Ya me encontré con el complemento de texotela mencionado, que me permitió resolverlo así:
fuente
Mire el índice seleccionado del
select
elemento. Por cierto, eso es una simple cosa de DOM, no específica de JQuery.fuente
Este fue un script rápido que encontré que funcionó ... El resultado se asigna a una etiqueta.
fuente
Ustedes están haciendo demasiado para seleccionar. Solo seleccione por valor:
fuente
fuente
Encontré una buena manera de verificar, si la opción está seleccionada y seleccionar una predeterminada cuando no lo está.
Si #some_select no tiene la opción predeterminada seleccionada, entonces .val () no está definido
fuente
fuente
Esta es otra forma de verificar si una opción está seleccionada o no en jquery. Esto devolverá booleano (verdadero o falso).
[1] es el índice de la opción de cuadro de selección
fuente
Cambie el evento en el cuadro de selección para que se active y, una vez que lo haga, simplemente tire del atributo id de la opción seleccionada: -
fuente
Estaba buscando algo similar y encontré esto:
Esto encuentra todos los menús seleccionados en la clase que aún no tienen una opción seleccionada, y selecciona la opción predeterminada ("2" en este caso).
Intenté usar en
:selected
lugar de[selected]
, pero eso no funcionó porque siempre se selecciona algo, incluso si nada tiene el atributofuente
Si necesita verificar explícitamente cada opción para ver si alguna tiene el atributo "seleccionado", puede hacerlo. De lo contrario, utilizando
option:selected
obtendrá el valor de la primera opción predeterminada.fuente