2010-07-21 13 views
43

Làm cách nào để có được hiện tại được chọn <option> của một yếu tố <select> qua JavaScript?Làm thế nào để bạn nhận được <option> hiện đang được chọn trong một số <select> qua JavaScript?

+1

Có thể trùng lặp: [Cách lấy giá trị danh sách thả xuống đã chọn bằng JavaScript?] (Http://stackoverflow.com/questions/1085801/how-to-get-the-selected-value-of-dropdownlist-using- javascript) –

+1

@AndersonGreen: không phải là * khá * cùng một câu hỏi. Nó thực sự hỏi làm thế nào để có được văn bản của lựa chọn '

Trả lời

78

này sẽ làm điều đó cho bạn:

var yourSelect = document.getElementById("your-select-id"); 
alert(yourSelect.options[ yourSelect.selectedIndex ].value) 
+9

nếu bạn sử dụng nó để truy cập giá trị của tùy chọn, bạn cũng có thể sử dụng 'yourSelect.value'. Rất cũ, trình duyệt cổ xưa có thể không hỗ trợ nó, nhưng IE6 và tất cả các trình duyệt hiện đại nào. –

+0

@Andy E: ooh, có một ý tưởng - đó thực sự là những gì tôi đang làm và mã của bạn dễ đọc hơn một chút. –

+0

@Andy E: ah, một lời cảnh báo về phương pháp đó - nó không trả về văn bản của phần tử '

17

.selectedIndex đối tượng select có chỉ mục; bạn có thể sử dụng nó để lập chỉ mục vào mảng .options.

+0

Điều này chắc chắn là ngữ nghĩa hơn câu trả lời hàng đầu! –

+0

Đây là cách tiếp cận thanh lịch và dễ hiểu nhất – Rice

2
var payeeCountry = document.getElementById("payeeCountry"); 
alert(payeeCountry.options[ yourSelect.selectedIndex ].value); 
+0

Câu trả lời của bạn đã được đánh dấu 'chất lượng thấp' dựa trên độ dài và nội dung của nó. Tôi có thể đề nghị bạn làm cho nó một bình luận cho câu hỏi? –

1

Sử dụng selectedOptions tài sản:

var yourSelect = document.getElementById("your-select-id"); 
alert(yourSelect.selectedOptions[0].value); 

works trong tất cả các trình duyệt trừ Internet Explorer.

+0

“Tính năng này hoạt động trong tất cả các trình duyệt ngoại trừ Internet Explorer.” Ngay sau khi mọi người ngừng sử dụng Internet Explorer, chúng tôi có vàng! [Có thể thực hiện tại đây] (https://gist.github.com/brettz9/4212217). –

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