validacion - validar formulario javascript html5
Cómo comprobar si un cuadro de selección está vacío usando JQuery/Javascript (3)
Usando JQuery Mobile tengo un cuadro de selección que se está poblando dinámicamente desde una base de datos. A partir de ahora, la población de esta casilla de verificación funciona sin problemas. He agregado la funcionalidad que consiste en un botón que llama a una función a través de un evento ''al hacer clic''. El trabajo de esta función es saber si esta casilla de verificación particular se ha rellenado o no; si no lo ha hecho, simplemente no hará nada, pero de lo contrario funcionará sin problemas. Mi problema es determinar si esta casilla de selección está vacía o no.
Aquí hay un ejemplo muy simplificado de lo que estoy tratando:
<li>
<label for="fruit_name">Fruit</label>
<select name="some_fruit" id="fruit_name" onclick="populate_box(''fruit'', this);">
</select>
</li>
Mi función, que se llama desde un botón separado, se ve así:
function isSelextBoxEmpty(selectBoxId) {
var selected_value = $(''#fruit_name'');
/* More options... still testing the proper way:
var selected_value = $(''#fruit_name'').text;
var selected_value = $(''#fruit_name'').value;
var selected_value = $(''#fruit_name'').length;
var selected_value = $(''#fruit_name option:selected'', this);
var selected_value = document.getElementById(''fruit_name'');
var selected_value = document.getElementById(''fruit_name'').length;
var selected_value = document.getElementById(''fruit_name'').value;
var selected_value = document.getElementById(''fruit_name'').innerHTML;
*/
if(selected_value) {
alert("NOT null, value: " + selected_value);
//do something
}
else {
alert("null, value: " + selected_value);
//do something
}
}
No te preocupes por lo que hace y cómo lo hace. En este momento, lo que me importa es que no puedo verificar si la casilla de verificación está vacía o no. No estoy seguro de cómo hacerlo. He leído mucho a través de foros y documentación, pero hay muchas implicaciones al hacer esto, ya que depende de la implementación en sí.
Por ejemplo, usar document.getElementById(...)...
no necesariamente dará como resultado falso y depende de cómo lo use. También usando $("#someID")...
en jQuery puede o no producir los resultados deseados. Ya he intentado muchas veces diferentes como puede ver en las líneas comentadas , todas las cuales se pueden evaluar en la declaración if(...)
.
¿Tiene alguna sugerencia o idea sobre cómo lograr esto? ¡Gracias por adelantado!
Otra forma correcta de obtener el valor seleccionado sería usar este selector:
$("option[value="0"]:selected")
¡Lo mejor para ti!
Para verificar si la casilla de selección tiene algún valor:
if( $(''#fruit_name'').has(''option'').length > 0 ) {
Para verificar si el valor seleccionado está vacío:
if( !$(''#fruit_name'').val() ) {
Una forma correcta de obtener el valor seleccionado sería
var selected_value = $(''#fruit_name'').val()
Y entonces deberías hacer
if(selected_value) { ... }