javascript - seleccionar - Obtener el texto de un cuadro desplegable
obtener valor dropdownlist javascript (11)
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>
¿Obtiene esto la respuesta correcta?
document.getElementById("newSkill").innerHTML
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();
En función de su código HTML de ejemplo, aquí hay una forma de obtener el texto mostrado de la opción actualmente seleccionada:
var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
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;
Por favor, intente lo siguiente, esta es la forma más fácil y funciona perfectamente
var newSkill_Text = document.getElementById("newSkill")[document.getElementById("newSkill").selectedIndex];
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)};
}
}
document.getElementById(''newSkill'').options[document.getElementById(''newSkill'').selectedIndex].value
Deberia trabajar
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;