$('#mySelectBox option').each(function() {
if ($(this).isChecked())
alert('this option is selected');
else
alert('this is not');
});
Aparentemente, el isChecked
no funciona. ¿Entonces mi pregunta es cuál es la forma correcta de hacer esto? Gracias.
this.selected
) que usted debe de derivación usando jQuery ($(this).prop("selected")
) sino que lo hará tanto trabajo por usted.Respuestas:
ACTUALIZAR
Un método jQuery más directo a la opción seleccionada sería:
Responder a la pregunta
.is(':selected')
es lo que estás buscando:La forma no jQuery (posiblemente la mejor práctica) de hacerlo sería:
Sin embargo, si solo está buscando el valor seleccionado, intente:
Si está buscando el texto del valor seleccionado, haga lo siguiente:
Echa un vistazo: http://api.jquery.com/selected-selector/
La próxima vez busque preguntas SO duplicadas:
Obtener la opción seleccionada actual o Establecer la opción seleccionada o ¿Cómo obtener $ (esta) opción seleccionada en jQuery? o la opción [selected = true] no funciona
fuente
this.selected
se puede usar en lugar de$(this).is(":selected")
, supongo que no hay necesidad de un jsperf para esto, ¿verdad? No tengo nada en contra de usar jQuery !, pero úsalo cuando lo necesites, no cuando solo da más gastos generales y más código.this.selected
es completamente válido pero pidió la forma correcta de jQuery para hacerlo.Puede obtener la opción seleccionada de esta manera:
DEMO EN VIVO
Pero si desea iterar todas las opciones, hágalo en
this.selected
lugar dethis.isChecked
lo que no existe:DEMO EN VIVO
Actualizar:
Tienes muchas respuestas que te sugieren usar esto:
$(this).is(':selected')
bueno, se puede hacer mucho más rápido y fácil,this.selected
¿por qué debería usarlo y no el método de elemento DOM nativo?Lea Conozca sus propiedades y funciones DOM en la información de la
jQuery
etiquetafuente
this.selected
. Estoy de acuerdo con sus comentarios sobre el uso excesivo / abuso de jQuery. Parte de conocer jQuery, es saber cuándo no usarlo. Dicho esto, tenga en cuenta que el':selected'
selector es un selector Sizzle personalizado, por lo que su uso deshabilita el uso de losquerySelectorAll
navegadores compatibles. Ciertamente no es el fin del mundo, ya que proporciona un código breve y agradable, pero personalmente tiendo a evitar las cosas solo de Sizzle.Si no está familiarizado o no se siente cómodo
is()
, simplemente puede verificar el valor deprop("selected")
.Como se ve aquí :
Editar :
Como @gdoron señaló en los comentarios, la forma más rápida y adecuada de acceder a la propiedad seleccionada de una opción es a través del selector DOM. Aquí está la actualización de violín que muestra esta acción.
parece funcionar igual de bien! Gracias gdoron.
fuente
$(this).prop("selected")
lugar dethis.selected
? ¡¿¿Qué te da??! ps no soy el downvoter ...is
se usa mejor, pero me gusta acceder a mis propiedades por prop y attr. En la mayoría de los escenarios, puede ser solo una cuestión de gustos. Sí, ¡hay una curiosa erupción de votos negativos!jQuery
información de la etiqueta . no hay razón para usar un código más lento + más código para hacer algo simple..is()
debe usarse para un selector complicado como$(...).is('.foo > [name="aaa"] input') or for properties that are not native DOM elements properties like
$ (...). is (": visible").$(this).is(':selected')
que se acepte la respuesta . Stackoverflow debería usarse para aprender las mejores prácticas, no los errores comunes ...)Puedes usarlo de esta manera con jquery:
fuente
utilizar
para probar si es una opción particular
myoption
:fuente
myoption
?Considere esto como su lista de selección:
luego marca la opción seleccionada de esta manera:
fuente
En mi caso, no sé por qué seleccionado siempre es cierto. Entonces, la única forma en que pude pensar es:
fuente
Si solo desea verificar si una opción está seleccionada, entonces no necesita recorrer todas las opciones. Solo haz
Nota: Si tiene una opción con valor = 0 que desea que se pueda seleccionar, debe cambiar la condición if a
$('#mySelectBox').val() != null
fuente
Si necesita verificar la opción de estado seleccionado para un valor específico :
fuente
Si desea verificar la opción seleccionada a través de JavaScript
El método más simple es agregar el atributo onchange en esa etiqueta y definir una función en el archivo js, ver ejemplo si su archivo html tiene opciones como esta
Y ahora agregue la función en el archivo js
Si desea verificar la opción seleccionada en el archivo php
Simplemente ingrese el atributo de nombre en su etiqueta y acceda a su variable / matriz global del archivo php ($ _GET o $ _POST). Vea un ejemplo si su archivo html es algo como esto
Y en su archivo php validation.php puede acceder de esta manera
fuente