04/2020: คำตอบเก่าที่ถูกต้อง
ใช้: ตัวเลือก psuedo ที่เลือกไว้บนตัวเลือกที่เลือกไว้จากนั้นใช้ฟังก์ชัน. valเพื่อรับค่าของตัวเลือก
$('select[name=selector] option').filter(':selected').val()
หมายเหตุด้านข้าง : การใช้ตัวกรองจะดีกว่าจากนั้นใช้:selected
ตัวเลือกในแบบสอบถามแรกโดยตรง
หากภายในตัวจัดการการเปลี่ยนแปลงคุณสามารถใช้เพียงthis.value
เพื่อรับค่าตัวเลือกที่เลือก ดูตัวอย่างสำหรับตัวเลือกเพิ่มเติม
//ways to retrieve selected option and text outside handler
console.log('Selected option value ' + $('select option').filter(':selected').val());
console.log('Selected option value ' + $('select option').filter(':selected').text());
$('select').on('change', function () {
//ways to retrieve selected option and text outside handler
console.log('Changed option value ' + this.value);
console.log('Changed option text ' + $(this).find('option').filter(':selected').text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<select>
<option value="1" selected>1 - Text</option>
<option value="2">2 - Text</option>
<option value="3">3 - Text</option>
<option value="4">4 - Text</option>
</select>
คำตอบเก่า:
แก้ไข:หลายคนชี้ให้เห็นสิ่งนี้จะไม่ส่งกลับค่าตัวเลือกที่เลือก
~~ ใช้ . valเพื่อรับค่าของตัวเลือกที่เลือก ดูด้านล่าง
$('select[name=selector]').val()~~