用datalist JS显示变量内容/将一些输出标记为变量名

showing variable content with datalist JS / mark some output as a variable name

所以,我想创建一个程序,如果我输入一些东西(在数据列表的帮助下),它可以显示一些东西。

因为我不想为每一种可能性编写代码,所以我想问一下,如果你能说,文本框的值应该显示带有文本框名称的变量内部的文本。

一个例子:

如果能够这样说就好了:变量名 应显示 document.getElementById("boxP").value 个(在本例中:成功)

<input type="text" name="srch" id="boxP" list="datalist1""></input>



<datalist id="datalist1">


<option value="TEST">

<option value="TEST1">


</datalist>

<script>
var TEST = "sucessful"

</script>

我不认为你可以这样做(/将一些输出标记为变量名),但是 我觉得值得一试。

我对每一个答案都很满意!

尝试在 eventListener 中使用地图:

document.getElementById('datalist1').addEventListener('input', function () {
   document.getElementById('boxP').value = textMap[this.value];
});

var textMap = {
  'TEST': 'successful',
  'TEST1': 'successful2'
};

您可以使用一个对象,定义所有可能性,然后使用从数据列表中选择的值对其进行索引。

var Obj = {
 'TEST': 'successful',
 'TEST1': 'successful1'
};
document.getElementById('boxP').addEventListener('change', function (e) {
   this.value = Obj[e.srcElement.value] || "";
});
<input type="text" name="srch" id="boxP" list="datalist1">



<datalist id="datalist1">
<option value="TEST">
<option value="TEST1">
</datalist>