2012-05-08 31 views
29

Tôi cóLàm thế nào để thiết lập lại một yếu tố lựa chọn với jQuery

<select id="baba"> 
<option>select something</option> 
<option value="1">something 1</option> 
<option value=2">something 2</option> 
</select> 

Sử dụng jQuery, những gì sẽ là dễ nhất (ít hơn để viết) cách để thiết lập lại các select để tùy chọn đầu tiên được chọn?

+1

Khi nào bạn muốn thiết lập lại này xảy ra? nếu trên tải trang, chỉ cần thêm thuộc tính được chọn vào tùy chọn đó. –

+0

@Vega nó không liên quan đến câu hỏi khi tôi muốn điều này xảy ra. Nó được nối với một sự kiện được kích hoạt bởi một hành động của người dùng. –

Trả lời

67

Hãy thử điều này. Điều này sẽ làm việc. $('#baba').prop('selectedIndex',0);

Kiểm tra ở đây http://jsfiddle.net/bibin_v/R4s3U/

+0

Nếu tôi hiểu chính xác, thì anh ta muốn chọn ' ' –

2
$('#baba option:first').attr('selected',true); 
11

Trong trường hợp của bạn (và trong hầu hết các trường hợp sử dụng tôi đã thấy), tất cả các bạn cần là:

$("#baba").val(""); 

Demo.

+4

nếu phần tử chọn không có tùy chọn với 'value =" "' thì phần tử sẽ được tạo trong các phiên bản mới hơn của jquery – billynoah

0

này hiện các trick, và làm việc cho bất kỳ lựa chọn.

$('#baba').val($(this).find('option:first').val()); 
0

Tôi tin rằng:

$("select option:first-child").attr("selected", "selected"); 
4

Edit: cách thời Cũ,

document.getElementById('baba').selectedIndex = 0; 

Hãy thử dưới đây và nó cũng làm việc đối với trường hợp của bạn,

$('#baba option:first').prop('selected', true); 

DEMO

0
$('#baba').prop('selectedIndex',-1); 
0

Đặt lại trường chọn đơn thành tùy chọn mặc định.

<select id="name"> 
    <option>select something</option> 
    <option value="1" >something 1</option> 
    <option value="2" selected="selected" >Default option</option> 
</select> 
<script> 
    $('name').val($('name').find("option[selected]").val()); 
</script> 


Hoặc nếu bạn muốn thiết lập lại tất cả các trường biểu mẫu để tùy chọn mặc định:

<script> 
    $('select').each(function() { 
     $(this).val($(this).find("option[selected]").val()); 
    }); 
</script> 
0

tốt nhất javascript giải pháp tôi đã tìm thấy là này

elm.options[0].selected="selected"; 
+0

Điều này không cung cấp Trả lời câu hỏi. Khi bạn có đủ [danh tiếng] (https://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào] (https://stackoverflow.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay thế).- [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/18148199) – Mamun

Các vấn đề liên quan