Получение текста из раскрывающегося списка
-
08-06-2019 - |
Вопрос
Это получает значение всего, что выбрано в моем раскрывающемся меню.
document.getElementById('newSkill').value
Однако я не могу узнать, какое свойство использовать для текста, который в данный момент отображается в раскрывающемся меню.Я попробовал «текст», затем посмотрел на W3Школы но на это не было ответа, кто-нибудь здесь знает?
Для тех, кто не уверен, вот HTML-код раскрывающегося списка.
<select name="newSkill" id="newSkill">
<option value="1">A skill</option>
<option value="2">Another skill</option>
<option value="3">Yet another skill</option>
</select>
Решение
На основе вашего примера HTML-кода можно получить отображаемый текст выбранной в данный момент опции:
var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
Другие советы
Это должно вернуть текстовое значение выбранного значения.
var vSkill = document.getElementById('newSkill');
var vSkillText = vSkill.options[vSkill.selectedIndex].innerHTML;
alert(vSkillText);
Реквизит:@Tanerax за то, что прочитал вопрос, узнал, что было задано, и ответил на него до того, как другие это поняли.
Редактировать:DownModed, потому что я действительно прочитал вопрос полностью и ответил на него, как это ни печально.
Просто вы можете использовать Jquery вместо Javascript
$("#yourdropdownid option:selected").text();
Попробуй это.
document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value
Должно сработать
Это работает, я попробовал это сам, и решил опубликовать это здесь, на случай, если оно кому-то понадобится...
document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;
Прикрепляет событие изменения к элементу выбора, который получает текст для каждой выбранной опции и записывает его в элемент div.
Вы можете использовать jQuery, он очень успешен и прост в использовании.
<select name="sweets" multiple="multiple">
<option>Chocolate</option>
<option>Candy</option>
<option>Taffy</option>
<option selected="selected">Caramel</option>
<option>Fudge</option>
<option>Cookie</option>
</select>
<div></div>
$("select").change(function () {
var str = "";
$("select option:selected").each(function() {
str += $( this ).text() + " ";
});
$( "div" ).text( str );
}).change();
Это правильный ответ?
document.getElementById("newSkill").innerHTML
function getValue(obj)
{
// it will return the selected text
// obj variable will contain the object of check box
var text = obj.options[obj.selectedIndex].innerHTML ;
}
HTML-фрагмент
<asp:DropDownList ID="ddl" runat="server" CssClass="ComboXXX"
onchange="getValue(this)">
</asp:DropDownList>
var ele = document.getElementById('newSkill')
ele.onchange = function(){
var length = ele.children.length
for(var i=0; i<length;i++){
if(ele.children[i].selected){alert(ele.children[i].text)};
}
}
var selectoption = document.getElementById("dropdown");
var optionText = selectoption.options[selectoption.selectedIndex].text;
Пожалуйста, попробуйте ниже, это самый простой способ, и он отлично работает.
var newSkill_Text = document.getElementById("newSkill")[document.getElementById("newSkill").selectedIndex];
Вот простой и короткий метод
document.getElementById('elementID').selectedOptions[0].innerHTML