Javascript 如何使用“返回”返回值的返回索引;“一个完整的”吗;?

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

我使用的是来自的“Awesomplete”。 我可以检索所选的值,但我需要该值的索引

按照代码返回选定的值

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 );

});