您可以选择任何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);