gpt4 book ai didi

javascript - 获取数据列表中所选选项的数据 ID

转载 作者:行者123 更新时间:2023-11-29 21:10:41 24 4
gpt4 key购买 nike

好的,我有以下 HTML 源代码:

<form method="post" action="/" id="search">
<input list="animals" name="animal">
<datalist id="animals">
<option label="Alaskan Malamute" data-id="d8c" value="Dog">
<option label="Siberian Husky" data-id="w30" value="Dog">
<option label="Aegean" data-id="rxx" value="Cat">
</datalist>
</form>

还有JS

function doKeyUp(e) {
if (e.preventDefault) e.preventDefault();

if(e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40 ) {return;}

var input = document.getElementById("animal");
var search_after = input.value.trim();
var form = document.getElementsByTagName("form")[0];

var datalist = document.getElementsByTagName('datalist')[0];

if (search_after.length >= 2) {

if (e.keyCode == 13 && search_after.length >= 3) {
var id = "value of data-id";
// How to obtain and submit the `data-id` of the selected option.
document.getElementById("search").submit();
}
}
} // dokeyup



document.addEventListener("DOMContentLoaded", function(event) {
document.getElementById("search").onsubmit = function (e) {
console.log("SUBMIT");
return false;
};

document.addEventListener( "keyup", doKeyUp, true);
});

当用户选择一个选项时,我如何获得 data-id所选 <option> - 这是我要在服务器端提交和处理的实际数据。

在这个项目中,我尝试自己编写所有内容,这次没有使用 jQuery。

知道我能做到console.log(datalist.options[1]); , 但不知道我是如何获得所选索引的。

3 月 4 日更新:一定要再问一遍,没有人给我提示吗?

还是想不通,实在是想不通了……在提交表单之前,我最后一次尝试停在:

for (var i=0; i<document.getElementById('animals').options.length; i++) {
if (document.getElementById('animals').options[i].value == document.getElementsByName("animal")[0].value) {
var id = document.getElementById('animals').options[i].getAttribute('data-id');
break;
}
}

是否有可能以任何方式获得所选选项的所选索引 - 还是我仍然在错误的道路上?无论如何,上面的内容在第一个元素处停止。

最佳答案

检查此答案作为 jquery 解决方案.. & 很抱歉回复晚了。

$(function(){
$('#p').click(function(){
console.log($("#animals option[value='" + $('#someid').val() + "']").attr('data-id'));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="/" id="search">
<input list="animals" name="animal" id="someid">
<datalist id="animals">
<option label="Alaskan Malamute" data-id="d8c" value="Dog">
<option label="Siberian Husky" data-id="w30" value="Dog">
<option label="Aegean" data-id="rxx" value="Cat">
</datalist>
<span id="p">Click</span>
</form>

关于javascript - 获取数据列表中所选选项的数据 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com