您可以选择任何select元素的当前选项:
mySelect.options[mySelect.selectedIndex]
我可以用DataList做同样的事情吗?这样的事情
<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>
解决方法
不,datalist元素是为输入提供自动填充.它是一个数据源,被用户隐藏,多个输入可能链接到它.因此,有一个selectedIndex是没有意义的.
相反,您应该简单地检查输入的.value:
var datalist = document.getElementById ("datalist"); var input = document.getElementById ("input"); input.addEventListener ("keyup",function (event) { if (event.which === 13) { alert(input.value); } },false);