2014-12-02 3 views
6

У меня есть поле выбора HTML МультиJQuery Мульти Выберите вариант - Проверьте, если выбран вариант или нет

<form action="form_action.php" method="Post"> 
<select name="cars[]" multiple id="select_id"> 
    <option value="all" id="option_id">All</option> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="opel">Opel</option> 
    <option value="audi">Audi</option> 
</select> 
<input type="submit"> 
</form> 

То, что я пытаюсь сделать, это проверить, если опция «All» выбран или нет в JQuery.

То, что я пытался это

<script> 
     $(document).ready(function() 
     { 
      $('#option_id') 
       .click(
        function() 
        { 
         if ($("#select_id option[value='all']").length == 0) { //value does not exist so add 
          //Do something if not selected 
         } 
         else 
         { 
          //DO something if selected 
         } 
         //$("#select_id option:selected").removeAttr("selected");   //Remove 
         //$("#select_id option").attr('selected', 'selected');  //Add 
        } 
       ); 
     }); 
    </script> 

Но это не работает.

Может ли кто-нибудь мне помочь?

Заранее благодарим за помощь.

ответ

12

Пожалуйста, ниже код

$('#option_id').click(function(){ 
if ($("#select_id option[value=all]:selected").length > 0){ 
    alert('all is selected'); 
} 
else{ 
    //DO something if not selected 
} 
//$("#select_id option:selected").removeAttr("selected");   //Remove 
//$("#select_id option").attr('selected', 'selected');  //Add 
}); 

Вы можете проверить ниже скрипку

Multi Select

+0

Этот метод не работает для меня. –

+0

@ TheThinker: Это работает над вышеуказанным вопросом. Если ваш вопрос отличается, пожалуйста, напишите свой отдельный вопрос для этого? и если ваш вопрос такой же, то дайте мне знать, какую ошибку вы получаете? –

4

Вы можете использовать :selected селектор для опции, чтобы определить, выбран ли он или нет

if ($("#select_id option[value=all]:selected").length > 0){ 
    //all is selected 
} 
+0

Это не работает Это MultiSelect. Итак, опция - это массив. Можете ли вы показать мне другой способ, пожалуйста? –

1

Из того, что я могу видеть, что вы пытаетесь определить, был ли он выбран при изменении параметра в <select> коробка, правильно?

Попробуйте это:

$("#select_id").change(function() { 
    if ($(this).find("option:selected").val() == "all") { 
    // all is selected 
    } else { 
    // all isn't selected 
    } 
}); 
Смежные вопросы