ฉันจะรับข้อความที่เลือก (ไม่ใช่ค่าที่เลือก) จากรายการแบบเลื่อนลงใน jQuery ได้อย่างไร
ฉันจะรับข้อความที่เลือก (ไม่ใช่ค่าที่เลือก) จากรายการแบบเลื่อนลงใน jQuery ได้อย่างไร
คำตอบ:
$("#yourdropdownid option:selected").text();
$("#yourdropdownid").children("option").filter(":selected").text()
เนื่องจาก is () คืนค่าบูลีนว่าวัตถุนั้นตรงกับตัวเลือกหรือไม่
is("selected").text()
ส่งคืน aTypeError: Object false has no method 'text'
$('select').children(':selected')
เป็นวิธีที่เร็วที่สุด: jsperf.com/get-selected-option-text
ลองสิ่งนี้:
$("#myselect :selected").text();
สำหรับ ASP.NET แบบเลื่อนลงคุณสามารถใช้ตัวเลือกต่อไปนี้:
$("[id*='MyDropDownId'] :selected")
("#ct0001yourdropdownid)
ID
ควบคุมหรือไม่และถ้าไม่ตามดัชนีที่พวกมันเกิดขึ้นในระดับปัจจุบันของต้นไม้ ฯลฯ )
คำตอบที่โพสต์ที่นี่เช่น
$('#yourdropdownid option:selected').text();
ไม่ได้ผลสำหรับฉัน แต่สิ่งนี้ทำได้:
$('#yourdropdownid').find('option:selected').text();
อาจเป็นรุ่นเก่ากว่าของ jQuery
หากคุณมีรายการดรอปดาวน์อยู่ในตัวแปรอยู่แล้วนี่คือสิ่งที่เหมาะกับฉัน:
$("option:selected", myVar).text()
คำตอบอื่น ๆ สำหรับคำถามนี้ช่วยฉัน แต่ท้ายที่สุดแล้วฟอรัม jQuery กระทู้$ (ตัวเลือก + "นี้: เลือก") ตัวเลือก attr ("rel") ที่เลือกไม่ทำงานใน IEช่วยมากที่สุด
อัพเดท: แก้ไขลิงค์ด้านบน
มันใช้งานได้สำหรับฉัน
$("#dropdownid").change(function() {
alert($(this).find("option:selected").text());
});
ถ้าองค์ประกอบสร้างแบบไดนามิก
$(document).on("change", "#dropdownid", function() {
alert($(this).find("option:selected").text());
});
$("option:selected", $("#TipoRecorde")).text()
$("#DropDownID").val()
จะให้ค่าดัชนีที่เลือก
สำหรับข้อความของรายการที่เลือกใช้:
$('select[name="thegivenname"] option:selected').text();
สำหรับมูลค่าของรายการที่เลือกใช้:
$('select[name="thegivenname"] option:selected').val();
หลากหลายวิธี
1. $("#myselect option:selected").text();
2. $("#myselect :selected").text();
3. $("#myselect").children(":selected").text();
4. $("#myselect").find(":selected").text();
$("#dropdownID").change(function(){
alert($('option:selected', $(this)).text());
});
$(this)
หลังจากโทรอาแจ็กซ์ของฉัน
ใช้สิ่งนี้
const select = document.getElementById("yourSelectId");
const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;
จากนั้นคุณจะได้รับความคุ้มค่าและข้อความให้อยู่ในที่ที่คุณเลือกและselectedValue
selectedText
var someName = "Test";
$("#<%= ddltest.ClientID %>").each(function () {
$('option', this).each(function () {
if ($(this).text().toLowerCase() == someName) {
$(this).attr('selected', 'selected')
};
});
});
ที่จะช่วยให้คุณได้รับทิศทางที่ถูกต้อง รหัสข้างต้นได้รับการทดสอบอย่างสมบูรณ์หากคุณต้องการความช่วยเหลือเพิ่มเติมโปรดแจ้งให้เราทราบ
สำหรับผู้ที่ใช้รายการSharePointและไม่ต้องการใช้รหัสที่สร้างขึ้นแบบยาวสิ่งนี้จะใช้ได้:
var e = $('select[title="IntenalFieldName"] option:selected').text();
$("#selectID option:selected").text();
แทนที่จะเป็น#selectID
คุณสามารถใช้ตัวเลือก jQuery เช่น.selectClass
ใช้คลาส
เป็นที่กล่าวถึงในเอกสารประกอบที่นี่
กระบวนการ: ตัวเลือกที่เลือกทำงานได้กับองค์ประกอบ <option> มันไม่ทำงานสำหรับช่องทำเครื่องหมายหรืออินพุตวิทยุ ใช้:checked
สำหรับพวกเขา
รับเนื้อหาข้อความรวมของแต่ละองค์ประกอบในชุดขององค์ประกอบที่ตรงกันรวมถึงลูกหลานของพวกเขา
ดังนั้นคุณสามารถนำข้อความจากองค์ประกอบ HTML ใด ๆ โดยใช้.text()
วิธีการ
อ้างถึงเอกสารสำหรับคำอธิบายที่ลึกซึ้งยิ่งขึ้น
$("select[id=yourDropdownid] option:selected").text()
ใช้งานได้ดี
สำหรับการรับค่าการใช้งานที่เลือก
$('#dropDownId').val();
และสำหรับการรับข้อความรายการที่เลือกใช้บรรทัดนี้:
$("#dropDownId option:selected").text();
$('#id').find('option:selected').text();
เลือกข้อความและค่าที่เลือกเมื่อเลื่อนลง / เลือกเปลี่ยนเหตุการณ์ใน jQuery
$("#yourdropdownid").change(function() {
console.log($("option:selected", this).text()); //text
console.log($(this).val()); //value
})
ลองใช้รหัสต่อไปนี้
var text= $('#yourslectbox').find(":selected").text();
มันจะส่งคืนข้อความของตัวเลือกที่เลือก
ใช้:
('#yourdropdownid').find(':selected').text();
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
var div = e.options[e.selectedIndex].text;
และแสดงเฉพาะรายการตัวเลือกแรกเท่านั้น จะแสดงแต่ละรายการได้อย่างไร
ทำงานต่อไปนี้สำหรับฉัน:
$.trim($('#dropdownId option:selected').html())
งานนี้สำหรับฉัน:
$("#city :selected").text();
ฉันใช้ jQuery 1.10.2
ในกรณีพี่น้อง
<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
<option value="">Select Client name....</option>
<option value="1">abc</option>
</select>
/*jQuery*/
$(this).siblings('select').children(':selected').text()
$(function () {
alert('.val() = ' + $('#selectnumber').val() + ' AND html() = ' + $('#selectnumber option:selected').html() + ' AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="selectnumber">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
<option value="4">four</option>
</select>
</div>
</form>
</body>
</html>
ลอง:
$var = jQuery("#dropdownid option:selected").val();
alert ($var);
หรือเพื่อรับข้อความของตัวเลือกใช้text()
:
$var = jQuery("#dropdownid option:selected").text();
alert ($var);
ข้อมูลเพิ่มเติม:
หากคุณต้องการผลลัพธ์เป็นรายการให้ใช้:
x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})
$("#dropdown").find(":selected").text();
$("#dropdown :selected").text();
$("#dropdown option:selected").text();
$("#dropdown").children(":selected").text();
รหัสนี้ใช้ได้สำหรับฉัน
$("#yourdropdownid").children("option").filter(":selected").text();