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>
Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top