Tengo una etiqueta < select > y quiero comprobar si una polilla está seleccionado.

 <select name="Birth_Month">
    <option value="" SELECTED>- Month -</option>
    <option value="January">January</option>
    <option value="Fabruary">Fabruary</option>
    <option value="March">March</option>
    <option value="April">April</option>
    <option value="May">May</option>
    <option value="June">June</option>
    <option value="July">July</option>
    <option value="August">August</option>
    <option value="September">September</option>
    <option value="October">October</option>
    <option value="November">November</option>
    <option value="December">December</option>
</select>

Para hacer esto:

if (document.registration_form.Birth_Month.value === '') 
{
    alert('Please fill select Month!');
}

Pero esta JavaScript para algunos seleccione-s de trabajo y para algunos de ellos, no. Obviamente, cuando el «Mes» se selecciona el returnes «- Mes -» en lugar de «» (cadena vacía). Lo que he hecho mal? ¿Cuál es la mejor manera de comprobar la etiqueta de la selección?

InformationsquelleAutor Narek | 2011-03-07

2 Comentarios

  1. 7

    Navegadores no siempre tienen .valor de la propiedad por el <seleccione> – que solía tener para obtener el valor de la <option>:

    var birthMonth=document.registration_form.Birth_Month;
    if(birthMonth.options[birthMonth.selectedIndex].value===''){

    Puedo usar jQuery .val() ahora. No recuerdo cual de los navegadores falta la seleccione.valor de la propiedad, y quizá, los navegadores son tan viejos que no necesitamos que preocuparse de nada más. Pero jQuery no utilice select.valor recorre cada una de las opciones para encontrar la selección de la opción del valor.

    Por supuesto, si usted sabe que usted tendrá siempre una sola opción en blanco, como la primera opción, sólo echa para selectedIndex==0.

    • +1! – Este es el camino, espere hasta que usted quiere hacer llegar el valor de un grupo de botones de radio!
  2. 0

    Creo que los números enteros son una mejor práctica para los valores de la opción. De todos modos, el siguiente fragmento no le importa si su opción por defecto el valor es una cadena vacía o un valor de cero.

    var birthMonth = document.registration_form.Birth_Month;
    if(birthMonth.options[birthMonth.selectedIndex].value === false){
        alert('Please fill select Month!');
    }

Dejar respuesta

Please enter your comment!
Please enter your name here