Usted puede recoger la corriente option
de cualquier elemento select
:¿Hay un SelectedIndex para una lista de datos HTML5?
mySelect.options[mySelect.selectedIndex]
¿Puedo hacer lo mismo con un DataList? Algo como esto:
<input id = "input" list = "datalist" type = "text" />
<datalist id = "datalist">
<option value = "No. 1"></option>
<option value = "No. 2"></option>
<option value = "No. 3"></option>
</datalist>
<script>
var datalist = document.getElementById ("datalist");
var input = document.getElementById ("input");
input.addEventListener ("keyup", function (event) {
if (event.which === 13) {
alert (datalist.options[datalist.selectedIndex]); // Example
}
}, false);
</script>
Cuidado: cuando el usuario hace clic sobre el punto desplegable de la lista de datos (clic de ratón), no hay ningún evento fired (chrome21) –
Probablemente debería cambiar el detector de eventos a 'input' ya que eso funcionaría con el problema planteado por Dmitry. –