2014-12-02 6 views
6

Mam pole zaznaczania HTML multijQuery Wielu Wybierz opcję - Sprawdź, czy opcja jest zaznaczona czy nie

<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> 

Co staram się zrobić, to sprawdzić, czy opcja „All” jest zaznaczony lub nie w jQuery.

Co Próbowałem to

<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> 

Ale to nie działa.

Czy ktoś może mi pomóc?

Z góry dziękuję za pomoc.

Odpowiedz

12

proszę zrobić jak poniżej kod

$('#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 
}); 

można sprawdzić poniżej skrzypce

Multi Select

+0

ta metoda nie działa dla mnie. –

+0

@ThThinker: Działa dla powyższego pytania. Jeśli twoje pytanie jest inne, proszę zamieścić osobne pytanie na ten temat? a jeśli twoje pytanie jest takie samo, daj mi znać, jaki błąd otrzymujesz? –

4

Można użyć :selected wyboru dla opcji, aby określić, czy jest wybrana lub nie

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

To nie działa Jest to wielokrotny. Zatem opcja jest tablicą. Czy możesz pokazać mi inną drogę? –

1

Z tego co widzę, starasz się wykryć, czy został wybrany po zmianie opcji w <select> box, prawda?

Spróbuj tego:

$("#select_id").change(function() { 
    if ($(this).find("option:selected").val() == "all") { 
    // all is selected 
    } else { 
    // all isn't selected 
    } 
}); 
Powiązane problemy