Як я можу отримати вибраний текст (а не вибране значення) зі спадного списку в jQuery?
Як я можу отримати вибраний текст (а не вибране значення) зі спадного списку в jQuery?
Відповіді:
$("#yourdropdownid option:selected").text();
$("#yourdropdownid").children("option").filter(":selected").text()
оскільки () повертає булевий рівень відповідності об'єкта селектору чи ні.
is("selected").text()
повертаєтьсяTypeError: 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());
});
change
заході я зараз можу використовувати $(this).find('option:selected').text()
текст, щоб отримати текст.
$(this).children(':selected').text()
також працював би. @ Timo002
$("#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
для них.
.text () Відповідно до документації тут .
Отримайте комбінований текстовий вміст кожного елемента в наборі відповідних елементів, включаючи їх нащадків.
Таким чином, ви можете взяти текст з будь-якого елемента HTML за допомогою .text()
методу.
Більш глибоке пояснення див. У документації.
$("select[id=yourDropdownid] 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();
він повертає текст вибраної опції.
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);
Більше інформації: