2015-05-02 5 views
0

im работает в проекте, который у меня будет иметь около 10 ящиков с одним и тем же классом, и я хочу проверить, выбрано ли все выбранные поля с помощью jquery. Вот мой HTML кодJQuery select option val

<form class="form-horizontal" action="analysis.php" method="post" id="mobileform" > 
<select class="form-control selectx" name="phone1"> 
    <option value="" selected>Select phone</option> 
    <option value="iphone6" selected>Iphone 6</option> 
    <option value="galaxys5" selected>Galaxy S5</option> 
</select>    
<select class="form-control selectx" name="phone2"> 
    <option value="" selected>Select phone</option> 
    <option value="iphone6" selected>Iphone 6</option> 
    <option value="galaxys5" selected>Galaxy S5</option> 
</select>  
<button type="submit" name="submit" class="btn btn-success" id="submit"> Submit !</button><br> 

А вот мой JQuery

      $(document).ready(function() { 
          $('form').submit(function(event) { 
           $(".selectx option:selected").each(function() 
           { 
            if($(this).val() === "") { 
            $('#selecterror').fadeIn(300); 
            event.preventDefault(); 
           }else{ 
            $('#selecterror').hide(); 
            } 
           }); 
           }); 
         }); 

Но он не работает, если вы пример 1 переключатель с именем PHONE1 вы не делаете выбор что-нибудь и в переключателе с именем Телефон2 вы выбираете телефон.

Извините за мой английский

ответ

0

В вашем случае, как выбрать опции должны быть пустыми для проверки. Вы можете использовать .filter, чтобы увидеть, если какое-либо из выбранных опций пусто:

$('form').submit(function(event) { 
     var empty = $(".selectx option:selected").filter(
      function() { 
       return $(this).val() == ""; 
      }); 

     if(empty.length) { 
       $('#selecterror').fadeIn(300); 
       event.preventDefault(); 
     }else{ 
       $('#selecterror').hide(); 
     } 

    }); 

DEMO: https://jsfiddle.net/hptqq1tL/