2010-03-05 12 views
8

Seçme kutusunda bir seçeneğin seçilip seçilmediğini görmeye çalışıyorum ve değilse bir dizeyi uyarmasını istiyorum. Bu bağlantıya atıfta bulundum (Check if option is selected with jQuery, if not select a default), ancak çalışmıyor.jQuery'yi kullanarak bir seçim kutusunda hiçbir seçeneğin seçilmediğini nasıl kontrol ederim?

İşte benim kod: Hemen hemen bağlantılı cevabı kopyalanmış

<select id="language" name="language"> 
    <option value=""></option> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

if(!$("#language option:selected").length) { 
    alert('no option is selected'); 
} 

, ama yine de çalışmıyor. Neyi kaçırıyorum? gitmek

cevap

15

başka yoludur:

if($("#language").attr("selectedIndex") == 0) { 
    alert("You haven't selected anything!"); 
    } 

Çalışma örneği de: belki http://jsbin.com/eluki3/edit

+0

Çok teşekkür ederim! – zeckdude

3
if ($("#language option:selected").val() === "") 
{ 
    alert("No items selected"); 
} 

veya basitçe

if ($("#language").val() === "") 
{ 
    alert("No items selected"); 
} 
+0

dikkatli olmak gerekiyor: –

5

birincisi varsayılan olarak seçilir çünkü.

if($('#language :selected').text() == ''){ 
    alert('no option is selected'); 
} 
0

Bir

$(function() { });

içine jQuery kodu koymak mı kullanıyor deneyin? DOM hazırlandıktan sonra değerlendirilmelidir. Aksi `val()` metni döndürür, `< ""= opsiyon değeri> HTML yerine` den ``

if ($('#mySelector option:selected').get().length>0) { 
    //code 
} else ... 
0

kullanıyorum aynı sorunu çözüldü seçeneğin içeriği. Bu örnek için geçerli değildir, çünkü her ikisi de boştur, ancak birkaç hatadan daha fazlasının kaynağı olmuştur!
İlgili konular