Получение текста из раскрывающегося списка
Это возвращает значение того, что выбрано в моем выпадающем меню.
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>
11 ответов:
на основе вашего примера 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);
Props: @Tanerax для чтения вопроса, зная, что было задано, и отвечая на него, прежде чем другие поняли это.
Edit: 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;
присоединяет событие изменения к select, которое получает текст для каждого выбранного параметра и записывает их в 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();
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)}; } }