从datalist
中选择一个选项后,我希望该选择的选项出现在页面中,只需单击Enter键即可。我是初学者。也许问题是value
未定义。我该怎么定义?
编辑:如果我指定了值,例如[5]
,我就能得到理想的结果,但是我不确定如何用变量切换[5]
,例如{{ 1}}。
[i]
var input = document.getElementById("myInput");
input.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("myButton").click();
}
});
function testResults(input) {
var x = document.getElementById("myInput").options[5].innerHTML;
document.getElementById("test").innerHTML = x;
}
答案 0 :(得分:1)
我目前已经进行了一次更改,您的休息逻辑对我来说仍然不清楚。
添加了id="myInputId"
。
从方法input
中删除了testResults()
变量
var input = document.getElementById("myInputId");
input.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("myButton").click();
}
});
function testResults() {
/*var i = myInputId.options.indexOf(value);
var x = document.getElementById("myInput").options[i].innerHTML;
document.getElementById("test").innerHTML = x;*/
document.getElementById("test").innerHTML = input.value;
}
<input list="myInput" id="myInputId" value="">
<button id="myButton" onClick="testResults()">submit</button>
<datalist id="myInput">
<option>Alabama</option>
<option>California</option>
<option>Hawaii</option>
<option>Indiana</option>
<option>Montana</option>
<option>Nevada</option>
<option>Vermont</option>
<option>Washington</option>
</datalist>
<p></p>
<div id="test">Selected option innerHTML goes here on keyCode === 13</div>