valor - select desplegable javascript




Obtener el texto de un cuadro desplegable (8)

¿Obtiene esto la respuesta correcta?

document.getElementById("newSkill").innerHTML

Esto obtiene el valor de lo que esté seleccionado en mi menú desplegable.

document.getElementById('newSkill').value

No obstante, no puedo averiguar qué propiedad buscar después del texto que se muestra actualmente en el menú desplegable. Intenté "texto" y luego miré W3Schools pero eso no tenía la respuesta, ¿alguien sabe esto?

Para aquellos que no están seguros, aquí está el HTML para un cuadro desplegable.

<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>

Adjunta un evento de cambio a la selección que obtiene el texto para cada opción seleccionada y los escribe en el div.

Puedes usar jQuery muy cara y exitoso y 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();

Esto debería devolver el valor de texto del valor seleccionado

var vSkill = document.getElementById('newSkill');

var vSkillText = vSkill.options[vSkill.selectedIndex].innerHTML;

alert(vSkillText);

Props: @Tanerax para leer la pregunta, saber lo que se preguntó y responder antes de que otros lo descubrieran.

Edit: DownModed, porque realmente leí una pregunta completamente, y la contesté, triste, el mundo es.


Esto funciona, lo intenté yo mismo, pensé que lo publique aquí en caso de que alguien lo necesite ...

document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;

Simplemente puede usar Jquery en lugar de Javascript

$("#yourdropdownid option:selected").text();

Prueba esto.


    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)};              
            }
    }   

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 ; 

}

Fragmento de HTML

 <asp:DropDownList ID="ddl" runat="server" CssClass="ComboXXX" 
  onchange="getValue(this)">
</asp:DropDownList>

var selectoption = document.getElementById("dropdown");
var optionText = selectoption.options[selectoption.selectedIndex].text;




client-scripting