obtener el valor del elemento <select> seleccionado en dardo
Pregunta
¿Cómo puedo obtener la opción seleccionada del elemento?document.query ("#id") - Elemento devuelve que no tiene valor de valor, por lo que no puedo hacer:
var val = document.query("#id").value;
var val = (SelectElement)(document.query("#id")).value; // - "SelectElement is class and cannot be used as an expression"
¿Cómo hacer correctamente la conversión de tipos en Dart?
Solución 2
solo necesito:
String str = document.query("#idOfSelect").value;
será advertencia, pero puede ignorarlo
Otros consejos
En general, cuando trato con cualquier elemento HTML, suelo consultar primero el elemento HTML:
InputElement myElement = document.query(#myInputElement);
Luego use algún evento para capturar el valor contenido en ese elemento:
int val = Math.parseInt(myElement.value);
Entonces, por ejemplo, en HTML podría tener un elemento de entrada de tipo rango:
<input id="mySlider" type="range" min="1000" max="10000" step="20" value="5000" />
En Dart, tomaría el valor de este control deslizante usando un evento con el mouse hacia arriba:
InputElement mySlider = document.query('#mySlider');
mySlider.on.mouseUp.add((e) {
int _val = Math.parseInt(mySlider.value);
document.query('#status').innerHTML = "$_val";
});
Editar: En M1, ahora puedes usar el operador de transmisión as
.Si su HTML se viera así:
<p id="text">This is some text</p>
Puedes recuperar el texto de la etiqueta de párrafo haciendo esto:
String str = (query('#text') as ParagraphElement).text;
utilizado:
var val = int.parse(query("#id").value, onError: (_) => 1);
Esto evita una excepción en la consulta de la caja ("# ID"). El valor es nulo y asigna un valor predeterminado (1).