Obter o texto a partir de uma lista drop-down da caixa de
-
08-06-2019 - |
Pergunta
Isso fica o valor de tudo o que está selecionado no meu menu suspenso.
document.getElementById('newSkill').value
Eu, todavia, não se pode saber quais os bens que ir depois para o texto que é exibido atualmente pelo menu suspenso.Eu tentei "texto", em seguida, olhou para W3Schools mas isso não tem a resposta, alguém aqui sabe?
Para aqueles que não tem certeza, aqui é o HTML de uma caixa suspensa.
<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>
Solução
Com base no exemplo de código HTML, aqui está uma forma de obter o texto exibido a opção actualmente seleccionada:
var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
Outras dicas
Isso deve retornar o valor de texto do valor selecionado
var vSkill = document.getElementById('newSkill');
var vSkillText = vSkill.options[vSkill.selectedIndex].innerHTML;
alert(vSkillText);
Adereços:@Tanerax para ler a pergunta, sabendo que o que foi pedido e responder-lhe antes que outros a descobri.
Editar:DownModed, porque eu, na verdade, ler uma pergunta totalmente, respondeu ele, triste mundo.
Simplesmente Você pode usar Jquery em vez de Javascript
$("#yourdropdownid option:selected").text();
Tente Isso.
document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value
Deve funcionar
Isso funciona eu tentei meu eu pensei que eu posto ele aqui para o caso de alguém precisar...
document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;
Anexa um evento change para selecionar o que fica o texto para cada opção escolhida e grava-os na div.
Você pode usar o jQuery é muito cara e bem sucedida e fácil de usar
<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();
Isso obter a resposta correta?
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 ;
}
Trecho de 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;
Por favor, tente abaixo, esta é a maneira mais fácil e funciona perfeitamente
var newSkill_Text = document.getElementById("newSkill")[document.getElementById("newSkill").selectedIndex];
Aqui é um fácil e curto método
document.getElementById('elementID').selectedOptions[0].innerHTML