2010-02-24 35 views

Trả lời

4

Chỉ cần thiết lập thuộc tính selected vào tùy chọn:

$("#m").attr("selected", true); 

Nếu bạn cũng muốn bỏ chọn tùy chọn khác khi bạn làm điều này tùy chọn đơn giản nhất là:

$("#m").attr("selected", true).siblings("option").removeAttr("selected"); 

này không bao gồm các trường hợp của fieldets tuy nhiên. Để bao gồm việc sử dụng nội dung đó như:

$("#m").attr("selected", true).closest("select") 
    .find("option").removeAttr("selected"); 
+0

+1 Cảm ơn bạn đã nhắc tôi;) –

0

không phải là cách chính xác để thêm id cho từng tùy chọn trong lựa chọn. nếu tôi là bạn, tôi sẽ làm như dưới đây

<select id="myselect"> 
      <option value="0">n</option> 
      <option value="1">m</option> 
</select> 

Đặt phần tử ở chỉ số 1 sử dụng dưới đây

$("#myselect option:eq(1)").attr("selected", "selected"); 
8

Đặt id trên yếu tố lựa chọn thay vì:

<select id="TheDropDown"> 
    <option value="0">n</option> 
    <option value="1">m</option> 
</select> 

Sau đó sử dụng chức năng val:

$('#TheDropDown').val('1'); 
+1

Tuyệt vời! Chỉ cần rực rỡ! –

+3

điều này không hoạt động đối với tôi trong cả FF 8.0 hoặc Chrome 11.0 (nhưng .attr ('đã chọn', đúng) đã hoạt động) –

+0

@NickPerkins: Phần tử 'select' không có bất kỳ thuộc tính' đã chọn' nào, vì vậy tôi nghĩ rằng bạn đang làm sai là bạn đang cố gắng sử dụng 'val' trên một' tùy chọn' thay vì 'chọn'. – Guffa

0
$("#m").addAttr('selected', true) 
     .siblings('option') 
     .removeAttr('selected'); 
0

Tôi đồng ý với @coder. Một thay đổi nhỏ đối với mã của anh ta là xóa mục nhập đã chọn trước đó. Nếu người dùng đã chọn một tùy chọn và sau đó bạn muốn thay đổi nó thành cái gì khác bằng cách sử dụng jquery (trừ khi hộp chọn của bạn có thuộc tính "nhiều"), bạn sẽ phải bỏ chọn tùy chọn lựa chọn của người dùng.

$("#myselect option:eq(1)").attr("selected", "selected").siblings("option").removeAttr("selected");

như đã đề cập bởi @cletus.

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