Nhận giá trị của một trình đơn thả xuống trong jQuery


100

Tôi có một danh sách thả xuống có Cặp 'ID, Tên'.

Thí dụ

Jon Miller
Jim Smith
Jen Morsin

Jon MIller có ID là 101
Jim Smith có ID là 102
Jen Morsin có ID là 103

Khi tôi làm theo:

var arNames = $('#Crd').val() 

và tôi chọn Jon Miller, tôi đạt 101. Tuy nhiên, tôi muốn chọn Jon Miller.


Câu trả lời:


184

$('#Crd').val()sẽ cung cấp cho bạn giá trị đã chọn của phần tử thả xuống. Sử dụng điều này để nhận văn bản tùy chọn đã chọn.

$('#Crd option:selected').text();

3
$ ('# Tùy chọn Crd: đã chọn'). Text () hoặc $ ('# Tùy chọn Crd: đã chọn'). Val (), .text cung cấp cho bạn giá trị của văn bản được hiển thị, không phải giá trị
Patrick choi

$ ('# Tùy chọn thứ tự: đã chọn'). Val (); cho giá trị
asifaftab87

13

Cách tốt nhất là sử dụng:

$("#yourid option:selected").text();

Tùy thuộc vào yêu cầu, bạn cũng có thể sử dụng cách này:

var v = $("#yourid").val();
$("#yourid option[value="+v+"]").text()

5

Nếu bạn đang sử dụng a <select>, hãy .val()lấy 'giá trị' của giá trị đã chọn <option>. Nếu nó không có value, nó có thể dự phòng cho id. Đặt giá trị bạn muốn nó trả về trong valuethuộc tính của mỗi<option>

Chỉnh sửa: Xem nhận xét để làm rõ valuethực tế là gì (không nhất thiết phải bằng valuethuộc tính).


1
Chỉ cần giải thích rõ, .val () trả về thuộc tính giá trị trực tiếp không phải giá trị thuộc tính HTML.
Chad

Chính xác. Tuy nhiên, không có sự khác biệt thực tế nào trong trường hợp này vì OP dường như không muốn thay đổi chữ values bất cứ lúc nào.
Ansel Santosa

2
.val() gets the 'value' attribute of the selected <option>, như tôi đã nói: chỉ làm rõ.
Chad

Điều gì sẽ xảy ra nếu tôi cần chỉ mục hoặc id hơn là văn bản?
bgmCoder

5

Điều này đã làm việc cho tôi!

$('#selected-option option:selected').val()

Hy vọng điều này sẽ giúp ai đó!


3
var sal = $('.selectSal option:selected').eq(0).val();

selectSal là một lớp học.




0

Như đã được chỉ ra ... trong một selecthộp, .val()thuộc tính sẽ cung cấp cho bạn giá trị của tùy chọn đã chọn. Nếu tùy chọn đã chọn không có thuộc tính giá trị, nó sẽ mặc định là giá trị hiển thị của tùy chọn (đó là những gì các ví dụ trên tài liệu jQuery.val hiển thị.

bạn muốn sử dụng .text()tùy chọn đã chọn:

$('#Crd option:selected').text()


0

Điều này cung cấp cho bạn giá trị hiện tại của menu thả xuống, nếu menu thả xuống có ID là "someId".

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

0

$('.leave_response').on('change', function() {
    var responseId = $(this).val();
    console.log(responseId);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td>
    <select class="leave_response" name="leave">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
    </select>
</td>


0

Chuyển id và giữ vào một biến và chuyển biến vào bất cứ nơi nào bạn muốn.

var temp = $ ('select [name = ID Name]'). val ();


$ ('select [name = ID Name] option: đã chọn'). val (); This One
also
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.