รับค่าของดรอปดาวน์ใน jQuery


100

ฉันมีดรอปดาวน์ที่มีคู่ 'ID, Name'

ตัวอย่าง

Jon Miller
Jim Smith
Jen Morsin

Jon MIller มี ID 101
Jim Smith มี ID 102
Jen Morsin มี ID 103

เมื่อฉันทำสิ่งต่อไปนี้:

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

และฉันเลือกจอนมิลเลอร์ฉันได้ 101 ฉันอยากได้จอนมิลเลอร์


คำตอบ:


186

$('#Crd').val()จะให้ค่าที่เลือกขององค์ประกอบแบบเลื่อนลง ใช้สิ่งนี้เพื่อรับข้อความตัวเลือกที่เลือก

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

3
$ ('# Crd option: selected'). text () หรือ $ ('# Crd option: selected'). val (), .text ให้ค่าของข้อความที่แสดงไม่ใช่ค่า
Patrick Guimalan

$ (ตัวเลือก '# Crd: selected'). val (); สำหรับมูลค่า
asifaftab87

13

วิธีที่ดีที่สุดคือใช้:

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

ขึ้นอยู่กับความต้องการคุณสามารถใช้วิธีนี้:

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

5

หากคุณกำลังใช้<select>, .val()ได้รับค่า <option>'ของการเลือก หากไม่มีvalueอาจเปลี่ยนกลับไปเป็นไฟล์id. ใส่ค่าที่คุณต้องการให้ส่งคืนในvalueแอตทริบิวต์ของแต่ละรายการ<option>

แก้ไข:ดูความคิดเห็นเพื่อความกระจ่างว่าvalueจริงคืออะไร(ไม่จำเป็นต้องเท่ากับvalueแอตทริบิวต์)


1
เพียงแค่คำชี้แจง, .val () ส่งคืนคุณสมบัติ live valueไม่ใช่ค่าแอตทริบิวต์ HTML
ชาด

แก้ไข. อย่างไรก็ตามไม่มีความแตกต่างในทางปฏิบัติในกรณีนี้เนื่องจาก OP ดูเหมือนจะไม่ต้องการเปลี่ยนvalues ณ จุดใด ๆ
Ansel Santosa

2
.val() gets the 'value' attribute of the selected <option>อย่างที่ฉันพูด: แค่ชี้แจง
ชาด

จะเป็นอย่างไรหากฉันต้องการดัชนีหรือรหัสแทนข้อความ
bgmCoder

5

สิ่งนี้ได้ผลสำหรับฉัน!

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

หวังว่านี่จะช่วยใครสักคน!





0

ตามที่ได้ระบุไว้ ... ในselectกล่อง.val()แอตทริบิวต์จะให้ค่าของตัวเลือกที่เลือก หากตัวเลือกที่เลือกไม่มีแอตทริบิวต์ value ค่าเริ่มต้นจะเป็นค่าที่แสดงของตัวเลือก (ซึ่งเป็นตัวอย่างในเอกสาร jQuery ของการ.valแสดง

คุณต้องการใช้.text()ตัวเลือกที่เลือก:

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


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

ส่ง id และกดค้างไว้ในตัวแปรและส่งผ่านตัวแปรไปตามที่คุณต้องการ

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


$ (ตัวเลือก 'select [name = ID Name]: selected'). val (); อันนี้ใช้ได้ด้วย
Abhijit Patra
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.