2012-04-05 45 views
5

Tôi có đoạn code saujQuery giá trị thay đổi chọn danh sách

<select id="practice_id" name="practice" column="practice" style="width: 200px"> 
<option value="">Default</option> 
<option value="1">Test 1</option> 
<option value="2">Test 2</option> 
<option value="3">Test 3</option> 
............... 
</select> 

gì tôi cần phải làm, là để thay đổi giá trị của mục đã chọn một dựa trên một số chuỗi truy vấn (Tôi có thể lấy giá trị này ok)

Tôi đang cố gắng thay đổi giá trị bằng cách sử dụng jQuery, nhưng không có gì tôi đã thử có vẻ hoạt động.

$('#practice_id').val('QUERY_STRING_NUMBER'); 

Điều này dường như không hoạt động do giá trị không thay đổi.

Tôi có điều gì sai ở đây không?

Cảm ơn

+0

lẽ bạn có thể loại bỏ các lựa chọn đang được chọn và thay thế bằng một

+0

@ DG3 Hoặc chỉ [thay đổi giá trị] (http://stackoverflow.com/questions/10032142/jquery-change-value-of-select-list/10032258#answer-10032258) :-) – PeeHaa

Trả lời

8

Bạn cần phải chọn option phần tử và không phải là yếu tố select:

(function($) { 
    $('#practice_id').change(function() { 
     var val = $(this).val(); 
     alert(val); 
     $('option[value=' + val + ']', this).val('changed'); 
    }); 
})(jQuery); 

http://jsfiddle.net/PeeHaa/6yre7/

0

$('#practice_id').val('QUERY_STRING_NUMBER');

này được thiết lập giá trị của sách thả xuống, không phải "thay đổi" giá trị tùy chọn nhấn mạnh.

$(document).ready(function() { $("#practice_id").children().val("-99"); });

Điều này sẽ thay đổi giá trị -99 trên tất cả các thẻ tùy chọn.

http://jsfiddle.net/MejLX/1/

Lưu ý: Có, bạn có thể làm điều này thông qua jQuery. Tuy nhiên, dựa trên hầu hết các kịch bản phổ biến hàng ngày, tôi sẽ nghĩ rằng tập lệnh/trang phía máy chủ của bạn sẽ tạo ra giá trị chính xác.

+0

Có cách nào để thay đổi giá trị tùy chọn? –

+0

Xin lỗi về các bản cập nhật khi có điều gì đó kỳ lạ đang diễn ra với việc chỉnh sửa. –

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