laravel - Laravel 搜索栏
问题描述
我正在尝试为一个项目构建一个搜索栏,“最有效”的是来自 w3 的搜索栏到我的数据库。
这是我的代码:
<div class="dropdown-menu">
<input type="text" class="form-control" id="myInput" onkeyup="myFunction()"placeholder="search.." title="namesearch">
<div class="dropdown-divider"></div>
@foreach($users as $user)
<ul id="myUL">
<li><a href="#">{{ $user->username }}</a></li>
</ul>
@endforeach
</div>
</div>
而对于我的 javascript (只过滤顶部的(不知道为什么))
var input, filter, ul, li, a, i, txtValue;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
ul = document.getElementById("myUL");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}```
解决方案
你需要把你的ul从foreach循环中拿出来,只把li留在里面
<div class="dropdown-menu">
<input type="text" class="form-control" id="myInput" onkeyup="myFunction()"placeholder="search.." title="namesearch">
<div class="dropdown-divider"></div>
<ul id="myUL">
@foreach($users as $user)
<li><a href="#">{{ $user->username}}</a></li>
@endforeach
</ul>
</div>
</div>
推荐阅读
- python - 如何从 Python 中执行 shell 命令获取输出
- azure - EventProcessorHost 方法 - 我是否需要用于事件中心的 azure blob 存储和租赁容器?
- r - 用R中的data.table按组提取n个最大值
- javascript - 角度库节点模块
- java - Flutter:Android许可证状态未知
- python - 无法理解来自 httpie 调用的错误
- java - Java - Pattern.compile() 不适用于从对象获取正则表达式字符串
- docker - Ubuntu docker 上的 Redis:sysctl:设置键“vm.overcommit_memory”:只读文件系统
- node.js - 在变量中返回请求函数的主体
- sql-server - T-SQL 和 Xquery - 更改文字值以使用对无的引用不会返回结果