Esto funciona perfectamente
<select name="selectbox" onchange="alert(this.value)">
Pero quiero seleccionar el texto. Lo intenté de esta manera
<select name="selectbox" onchange="alert(this.text)">
Se muestra indefinido. Descubrí cómo usar DOM para obtener texto. Pero quiero hacer esto de esta manera, me refiero a usar solo this.value.
javascript
select
Aajahid
fuente
fuente
options
devuelve una lista deOption
objetos, que no estoy seguro de que estén especificados en algún lugar para ser lo mismo que los<option>
elementos. Es mejor usar latext
propiedad tradicional del seleccionadoOption
, que está garantizado para funcionar.Option
objetos son lo mismo que losHTMLOptionElement
objetos. Si se opone al usooptions
, puede usar alternativamentechildren
o en suchildNodes
lugar (no puedo recordar exactamente cuál; creo que ambos funcionan)options
, pero losOption
objetos son anteriores a losHTMLOptionElement
objetos y no hay ninguna especificación que haya visto que exija esoOption
yHTMLOptionElement
debe ser lo mismo, aunque pueden estar en la mayoría de los navegadores que admiten ambos. Mi punto es que sería más seguro no mezclar los dos estilos. Por lo tanto, preferiríathis.options[this.selectedIndex].text
o una cosa basada en nodosselectedIndex
, lo cual se complica por la necesidad de filtrar los nodos de texto de espacio en blanco en IE.text
devuelve elinnerHTML
, o solo todos los nodos de texto combinados?Para obtener el valor del artículo seleccionado, puede hacer lo siguiente:
this.options[this.selectedIndex].text
Aquí
options
se accede a los diferentes de los seleccionados, ySelectedIndex
se utiliza para elegir el seleccionado, luegotext
se accede a él.Lea más sobre el DOM seleccionado aquí .
fuente
this.options[this.selectedIndex].value
es exactamente lo mismo quethis.value
, lo siento.selectedIndex
lugar deSelectedIndex
.this.selectedOptions[0].text
(con extensiones obvias si tiene una selección múltiple).Pruebe este código:
$("#YourSelect>option:selected").html()
fuente
Solo usa
$('#SelectBoxId option:selected').text();
Para obtener texto como se indica$('#SelectBoxId').val();
Para obtener el valor de índice seleccionadofuente
Sé que nadie está pidiendo una solución de jQuery aquí, pero valdría la pena mencionar que con jQuery solo puede solicitar:
$('#selectorid').val()
fuente
Si desea obtener el valor, puede usar este código para un elemento de selección con id = "selectBox"
let myValue = document.querySelector("#selectBox").value;
Si desea obtener el texto, puede usar este código
var sel = document.getElementById("selectBox"); var text= sel.options[sel.selectedIndex].text;
fuente