2011-11-24 27 views
6

Xin chào, tôi đang đặt giá trị trong danh sách thả xuống bằng cách sử dụng jquery theo các cách sau.Làm cách nào để đặt giá trị trong menu thả xuống bằng Jquery?

$("#dropDownItems option[value='--Select--']").attr('selected', 'true'); 

$("#dropDownItems option[value='--Select--']").attr('selected', 'selected'); 

Nhưng không cách nào trong số này hoạt động cho FireFox! và hoạt động tốt cho các trình duyệt còn lại.

Có ai giúp tôi không?

+0

Có lẽ có một vấn đề với việc triển khai CSS với dấu nháy đơn. Bạn đã thử '$ (" # dropDownItems option [value = \ "- Chọn __ \"] "). Attr (" selected "," selected ");'? –

+0

Bạn đang sử dụng phiên bản jQuery nào? Hãy thử Prop thay vì attr. – Brij

Trả lời

11

Điều này sẽ thực hiện thủ thuật cho bạn.

$('#dropdownID').val("Value to be selected"); 
3
$("#dropDownItems").val("--Select--"); 

Hoặc, nếu bạn chỉ muốn chọn tùy chọn đầu tiên không phân biệt giá trị của nó, bạn có thể xác định chức năng helper này:

$.fn.selectFirst = function() { 
    return $(this).find("option:first").attr("selected", "selected").end(); 
} 

Sau đó sử dụng nó như thế này:

$("#dropDownItems").selectFirst(); 
1

Nếu bạn muốn đặt giá trị mặc định và là thành phần đầu tiên, bạn có thể làm:

$('#dropDown')[0].selectedIndex=0; 
0

Tôi đoán có nhiều cách để thực hiện. Cách dễ nhất:

$("#dropdownID").val("dropdownValue"); 

Điều này sẽ hoạt động tốt, nhưng sẽ không kích hoạt sự kiện thay đổi nếu bạn có bất kỳ trường hợp nào. Để giải quyết nó, sử dụng nó như dưới đây:

$("#dropdownID").val("dropdownValue").change(); 

cách có thể khác:

$("#dropdownID").attr('selected','selected'); 

$("#dropdownID").prop('selected', true); 
0

thử này

$('[id*=_dropdown]').val("--Select--"); 
Các vấn đề liên quan