Javascript 如何使用“返回”返回值的返回索引;“一个完整的”吗;?
我使用的是来自的“Awesomplete”。 我可以检索所选的值,但我需要该值的索引 按照代码返回选定的值Javascript 如何使用“返回”返回值的返回索引;“一个完整的”吗;?,javascript,html,css,Javascript,Html,Css,我使用的是来自的“Awesomplete”。 我可以检索所选的值,但我需要该值的索引 按照代码返回选定的值 document.getElementById('Search').addEventListener('awesomplete-selectcomplete',function(){ console.log("value:" + this.value); console.log("index:" + this.index); //this doesn't work, it retu
document.getElementById('Search').addEventListener('awesomplete-selectcomplete',function(){
console.log("value:" + this.value);
console.log("index:" + this.index); //this doesn't work, it returns "undefined"
});
由于返回元素是HTMLInputElement,因此没有.index选项,在这种情况下,您必须迭代数据属性,如下所示:
<input id="Search" class="awesomplete" data-list="Ada, Java, JavaScript, Brainfuck, LOLCODE, Node.js, Ruby on Rails" />
我不知道上下文,但您如何看待使用
indexOf
?在这里我找到了另一种选择:(var val=document.getElementById(“input”).value;var opts=document.getElementById('dlist').childNodes;for(var I=0;I
您可以共享您的html部分吗?html DOM元素不是来自数组,因此它们没有index
属性。这不仅意味着您将无法以这种方式获取它,而且即使您知道该元素在序列中的编号,您也无法使用该编号与该元素交互,因为该编号没有索引,因此该编号r没有任何意义。
document.getElementById('Search').addEventListener('awesomplete-selectcomplete',function(){
value = this.value;
data_list = this.getAttribute("data-list");
array_list = data_list.split(", "); // attention on whitespace remove.
array_list.forEach(function(element){
i = array_list.indexOf(element); // clicked element index.
if(element == value)
console.log("index: " + "[" + i + "] " + element );
});