您可以选择任何select
元素的当前option
:
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>
发布于 2011-01-18 21:50:24
不,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);
发布于 2011-01-18 21:49:54
根据specs判断,datalist
对象不具有selectedIndex
属性。但是你可以找到它的默认选项,它有selected
。或者将输入的值与每个选项值进行比较,然后手动查找索引。
发布于 2013-05-07 13:57:35
for (var i=0;i<datalist_id.options.length;i++)
if (datalist_id.options[i].value == input_id.value)
{alert(datalist_id.options[i].innerText);break;}
https://stackoverflow.com/questions/4724713
复制相似问题