Получение текста из выпадающего списка
Это получает значение того, что выбрано в моем выпадающем меню.
document.getElementById('newSkill').value
Однако я не могу узнать, какое свойство нужно искать для текста, который в данный момент отображается в раскрывающемся меню. Я попробовал "текст", затем посмотрел на W3Schools, но у него не было ответа, кто-нибудь здесь знает?
Для тех, кто не уверен, вот 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>
14 ответов
На основе вашего примера HTML-кода, вот один из способов получить отображаемый текст выбранной опции:
var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
Просто вы можете использовать Jquery вместо Javascript
$("#yourdropdownid option:selected").text();
Попробуй это.
Это должно вернуть текстовое значение выбранного значения
var vSkill = document.getElementById('newSkill');
var vSkillText = vSkill.options[vSkill.selectedIndex].innerHTML;
alert(vSkillText);
Реквизит: @Tanerax за то, что прочитал вопрос, знал, что спросили, и отвечал на него, прежде чем другие поняли это.
Редактировать: DownModed, потому что я на самом деле полностью прочитал вопрос и ответил на него, печальный мир это.
document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value
Должно сработать
Это работает, я попробовал сам, я думал, что выложу это здесь на случай, если кому-то это понадобится
document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;
Вот простой и короткий метод
document.getElementById('elementID').selectedOptions[0].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>
Присоединяет событие изменения к выбору, которое получает текст для каждого выбранного параметра и записывает их в элемент 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();
Получите выделенный текст раскрывающегося списка с помощью jQuery. Я использовал его в MVC...
$('#dropdownId :selected').text()
Получает ли это правильный ответ?
document.getElementById("newSkill").innerHTML
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 newSkill_Text = document.getElementById("newSkill")[document.getElementById("newSkill").selectedIndex];
Нашел это сложный вопрос, но, используя идеи отсюда, я в конце концов получил решение, используя PHP и Mysqli для заполнения списка: а затем немного javascript, чтобы получить рабочую переменную.
<select id="mfrbtn" onchange="changemfr()" >
<option selected="selected">Choose one</option>
<?php
foreach($rows as $row)
{
echo '<option value=implode($rows)>'.$row["Mfrname"].'</option>';
}
?>
</select>
Потом :
<script language="JavaScript">
function changemfr()
{
var $mfr2=document.getElementById("mfrbtn").selectedOptions[0].text;
alert($mfr2);
}
</script>
var selectoption = document.getElementById("dropdown");
var optionText = selectoption.options[selectoption.selectedIndex].text;