ค้นหาเว็บไซต์

javascript - วิธีใช้ jQuery เพื่อเลือกตัวเลือกในเมนูดรอปดาวน์?


ฉันสงสัยว่ามันเป็นไปได้ไหมที่จะใช้ jQuery เลือก <option> สมมุติว่าเป็นรายการที่ 4 ในกล่องแบบเลื่อนลง?

<select>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
</select>

ฉันต้องการให้ผู้ใช้คลิกลิงก์ แล้วให้กล่อง <select> เปลี่ยนค่าเหมือนกับว่าผู้ใช้ได้เลือกโดยการคลิกที่ <option>

คำตอบ #1

แล้วไงดี

$('select>option:eq(3)').attr('selected', true);

ตัวอย่าง:

$('select>option:eq(3)').attr('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>

สำหรับเวอร์ชันสมัยใหม่ของ jQuery คุณควรใช้ .prop() แทน .attr()

$('select>option:eq(3)').prop('selected', true);

ตัวอย่าง:

$('select>option:eq(3)').prop('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>

คำตอบ #2

วิธีแก้ปัญหา:

$("#element-id").val('the value of the option');

คำตอบ #3

องค์ประกอบ select ของ HTML มีคุณสมบัติ selectedIndex ที่สามารถเขียนค่าเพื่อเลือกตัวเลือกเฉพาะได้:

$('select').prop('selectedIndex', 3); // select 4th option

การใช้ JavaScript ธรรมดาสามารถทำได้โดย:

// use first select element
var el = document.getElementsByTagName('select')[0]; 
// assuming el is not null, select 4th option
el.selectedIndex = 3;

คำตอบ #4

ฉันจะทำแบบนี้

 $("#idElement").val('optionValue').trigger('change');

คำตอบ #5

วิธีที่ง่ายที่สุดคือฟังก์ชัน val(value):

$('select').val(2);

และในการรับค่าที่เลือกคุณไม่ต้องส่งอาร์กิวเมนต์ใดๆ

$('select').val();

นอกจากนี้ หากคุณมี <option value="valueToSelect">...</option> คุณสามารถทำได้ดังนี้:

$('select').val("valueToSelect");

สาธิต

คำตอบ #6

ถ้าตัวเลือกของคุณมีค่า คุณสามารถทำสิ่งนี้ได้:

$('select').val("the-value-of-the-option-you-want-to-select");

'select' จะเป็น id ของ select ของคุณหรือเป็นตัวเลือก class หรือถ้ามี select แค่ตัวเดียว คุณสามารถใช้แท็กตามตัวอย่างได้เลย

คำตอบ #7

ใช้โค้ดต่อไปนี้หากคุณต้องการเลือกตัวเลือกที่มีค่าที่เฉพาะเจาะจง:

$('select>option[value="' + value + '"]').prop('selected', true);

บทความที่เกี่ยวข้อง