javascript - 如何为备用选项名称定义和访问 datalist 选项
问题描述
从数据列表中选择州名(即加利福尼亚州)时,我想option id=
在结果中显示州名缩写
我如何定义和options
访问datalist
?
例如,如果California
从 中选择datalist
,我要返回结果CA
。
var input = document.getElementById("myInputId");
input.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("myButton").click();
}
});
function result() {
document.getElementById("myResult").innerHTML = input.value;
myObj.info.forEach(function(e, z) {
var q = document.getElementById("myResult").innerHTML;
if (e.properties.id == q) {
document.getElementById("position").innerHTML = z;
document.getElementById("width").innerHTML = myObj.info[z].properties.width;
}
});
}
myObj = {
"type":"A",
"info": [
{ "item":"1", "properties":{ "id":"Alabama", "height": "25", width: "50" } },
{ "item":"2", "properties":{ "id":"California", "height": "30", width: "40" } },
{ "item":"3", "properties":{ "id":"Vermont", "height": "20", width: "100" } }
]
}
<input list="myInput" id="myInputId" value="" option="">
<button id="myButton" onClick="result()">submit</button>
<datalist id="myInput">
<option id="AL">Alabama</option>
<option id="CA">California</option>
<option id="VT">Vermont</option>
</datalist>
<p>Option ID (State abbreviation):<span id="option"></span></p>
<p>Result:<span id="myResult"></span></p>
<p>Position in object:<span id="position"></span></p>
<p>Width:<span id="width"></span></p>
解决方案
用于this.getAttribute('id')
从输入字段中获取 ID。
然后类似于以下内容:
document.getElementById('myInput').getElementsByTagName('option')[z].getAttribute('id')
var input = document.getElementById("myInputId");
input.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
document.getElementById("myButton").click();
}
});
function result() {
document.getElementById("myResult").innerHTML = input.value;
myObj.info.forEach(function(e, z) {
var q = document.getElementById("myResult").innerHTML;
if (e.properties.id == q) {
document.getElementById("position").innerHTML = z;
document.getElementById("width").innerHTML = myObj.info[z].properties.width;
document.getElementById("option").innerHTML = document.getElementById('myInput').getElementsByTagName('option')[z].getAttribute('id');
}
});
}
myObj = {
"type":"A",
"info": [
{ "item":"1", "properties":{ "id":"Alabama", "height": "25", width: "50" } },
{ "item":"2", "properties":{ "id":"California", "height": "30", width: "40" } },
{ "item":"3", "properties":{ "id":"Vermont", "height": "20", width: "100" } }
]
}
<input list="myInput" id="myInputId" value="" option="">
<button id="myButton" onClick="result()">submit</button>
<datalist id="myInput">
<option id="AL">Alabama</option>
<option id="CA">California</option>
<option id="VT">Vermont</option>
</datalist>
<p>Option ID (State abbreviation):<span id="option"></span></p>
<p>Result:<span id="myResult"></span></p>
<p>Position in object:<span id="position"></span></p>
<p>Width:<span id="width"></span></p>
推荐阅读
- ethereum - 使用 Metamask 提供的 web3.js 版本的 web3.eth.abi 在哪里?
- php -
- javascript - 从函数外部清除当前间隔
- python-3.x - 轴对齐边界框 Skimage
- python-3.x - 根据结果从 groupby 中的不同列获取值
- python - 如何在 Python 中以列表为列绘制坐标?
- python - 如何在 Django 中实现具有不同角色和权限的多种用户类型?
- google-cloud-platform - Google Cloud Functions Execution Time & Limitations
- python-3.x - 使用python脚本验证定义的SVN是否存在:Externals
- c++11 - 如何将 val 分配给动态矩阵的特征块