2010-03-05 58 views
8

Tôi đang cố gắng xem một tùy chọn đã được chọn trong hộp chọn hay chưa và tôi có muốn tùy chọn này cảnh báo một chuỗi hay không. Tôi đã đề cập đến liên kết này (Check if option is selected with jQuery, if not select a default), nhưng nó không hoạt động.Làm cách nào để kiểm tra xem không có tùy chọn nào được chọn trong hộp chọn bằng jQuery?

Dưới đây là mã của tôi:

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

tôi khá nhiều sao chép câu trả lời liên quan, nhưng nó vẫn không làm việc. Tôi đang thiếu gì?

Trả lời

15

Một cách khác để đi là:

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

dụ Làm việc tại: http://jsbin.com/eluki3/edit

+0

Cảm ơn bạn rất nhiều! – zeckdude

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

hoặc đơn giản là

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

Cần phải cẩn thận nếu HTML là '

5

có lẽ vì là người đầu tiên được chọn theo mặc định.

thử sử dụng

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

Bạn đã đặt mã jQuery bên trong một

$(function() { });

?

Nó cần được đánh giá sau khi DOM sẵn sàng.

0

tôi đã giải quyết được vấn đề tương tự sử dụng:

if ($('#mySelector option:selected').get().length>0) { 
    //code 
} else ... 
Các vấn đề liên quan