Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入表单和对象循环的问题_Javascript_Jquery_Loops_Frontend - Fatal编程技术网

Javascript 输入表单和对象循环的问题

Javascript 输入表单和对象循环的问题,javascript,jquery,loops,frontend,Javascript,Jquery,Loops,Frontend,我正试图解决这个挑战,因为我遇到了一个我不知道如何解决的问题 这是一个指向代码笔的链接,我将所有代码都放在这里: 基本上,问题在于最后一个函数,用于搜索用户列表的函数。 我这样做是为了,每当搜索表单的值发生变化时,它都会在users对象中循环,并隐藏不包含任何插入字符的对象 整个代码运行得很好,特别是因为我正在console.log()-ing函数中变量的所有变化,但在前端,它在两次迭代后停止。例如,如果我搜索Nelari,代码会在我插入N后隐藏大部分用户,当我键入e时,甚至会隐藏更多用户,但在

我正试图解决这个挑战,因为我遇到了一个我不知道如何解决的问题

这是一个指向代码笔的链接,我将所有代码都放在这里:

基本上,问题在于最后一个函数,用于搜索用户列表的函数。 我这样做是为了,每当搜索表单的值发生变化时,它都会在users对象中循环,并隐藏不包含任何插入字符的对象

整个代码运行得很好,特别是因为我正在
console.log()
-ing函数中变量的所有变化,但在前端,它在两次迭代后停止。例如,如果我搜索Nelari,代码会在我插入
N
后隐藏大部分用户,当我键入
e
时,甚至会隐藏更多用户,但在这两次迭代后,代码会停止。在控制台上,它继续运行并返回正确的结果,直到最后,但在前端站点,它只是停止

除此之外,我注意到,即使一些显示的用户在我搜索的内容方面是正确的,但它保留了一些不包含我输入的任何字符的用户

为了简单起见,我也将函数代码放在这里:

`

//搜索表单
window.addEventListener('input',函数(e){
var searchQuery=$(“输入”).val().toLowerCase().replace(/[^A-Z0-9\]/ig,”);
搜索(Acc、searchQuery);
},假);
功能搜索(帐户、内容){
console.log(什么);
如果(what.length>0){
Object.key(accounts).forEach(function(key){
var IDD=“.”+键;
控制台日志(IDD)
acquery=key.toLowerCase();
console.log(acquery);
if(acquery){
if(acquery.indexOf(what)>=0){
$(IDD).css({“display”:“block”});
log(“找到了!”);
};
if(acquery.indexOf(what)=-1){
$(IDD).css({“display”:“none”});
log(“找不到!”);
};
};
});
}
否则如果(什么长度<1){
Object.key(accounts).forEach(function(key){
变量IID=“.”+键;
$(IID).css({“display”:“block”});
});
};
};`

正如我在代码中看到的,您正在按类选择要隐藏的元素。帐户的键可以是大写,li类可以是小写。由于CSS选择器区分大小写(),因此找不到要隐藏的正确元素。如果使用accQuery来获取元素而不是键,它将起作用

   accQuery = key.toLowerCase();
   console.log(accQuery); 

   var IDD = "." + accQuery ;
   console.log(IDD)

你我的朋友是个天才,我真不敢相信我竟然没有注意到!谢谢!
   accQuery = key.toLowerCase();
   console.log(accQuery); 

   var IDD = "." + accQuery ;
   console.log(IDD)