2014-12-02 30 views
6

Bir HTML Çoklu seçme kutusu varjQuery Çoklu Seçenek - Bir seçenek seçilirse, kontrol ya da değil

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

Ne yapmaya çalışıyorum olmadığını kontrol olduğunu seçenek "Tümü" jQuery seçili veya edilmez. Ben denedim ne

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

olduğunu Ama çalışmıyor.

Bana yardım eden var mı?

Yardımlarınız için şimdiden teşekkür ederiz.

cevap

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 
}); 

kodu

aşağıda Lütfen Sen keman

Multi Select

+0

Bu yöntem benim için çalışmıyor. –

+0

@ TheThinker: Yukarıdaki soru için çalışıyor. Sorunuz farklıysa lütfen bunun için ayrı sorunuzu gönderin. ve sorunuz aynıysa, bana hangi hatayı aldığınızı bildirin. –

4

Bunu seçili olup olmadığını belirlemek için seçeneği için :selected seçici kullanabilir veya değil ben, size seçeneği değiştirdiğinizde seçilen olup olmadığını tespit etmek için çalışıyoruz Görebildiğimiz kadarıyla

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

O Bir multiselect olduğu çalışmıyor aşağıda kontrol edebilirsiniz. Yani, seçenek bir dizidir. Bana farklı bir yol gösterir misiniz, lütfen? –

1

<select> kutu, değil mi?

bu deneyin:

$("#select_id").change(function() { 
    if ($(this).find("option:selected").val() == "all") { 
    // all is selected 
    } else { 
    // all isn't selected 
    } 
}); 
İlgili konular