javascript来隐藏所有与文本输入搜索框的内容不对应的客户端
javascript to hide all clients that do not correspond with contents of text input search box
我有一个从数据库中提取客户端列表的页面,我想添加一个搜索框,该框可以动态隐藏与框中键入的文本不匹配的所有客户端,而无需重新加载页面。
javascript可能做到这一点吗?或者我应该尝试其他方法吗?
我的列表是这样编码的,从数据库中提取信息。
<ul>
<li><a href="index.php?pg=client&cid=125">Client Name</a></li>
...
...
...
<li><a href="index.php?pg=client&cid=111">Client Name</a></li>
</ul>
http://api.jquery.com/contains-selector/
<input id="filter" />
$("#filter").keyup(function(){
$("ul>li").hide();
$("ul>li:contains("+this.value+")").show();
})
我假设您愿意使用jQuery。
首先,您需要有一些方法来通过javascript引用您的列表和文本框。我将使用id作为示例,但它可能是任何东西。
<input type="text" id="search-box" />
<ul id="clients-list">
<!-- clients list here -->
</ul>
然后,在javascript上,您可以监听keyup事件。
$("#search-box").on("keyup", filterClients);
这将使filterClients
函数在用户释放密钥时被调用。有很多方法可以定义这一点,但我将采用简单的方法:
function filterClients(event) {
var $search = $(event.target);
var text = $search.val();
var $clients = $("#clients-list li");
$clients.each(function() {
var $client = $(this);
var clientName = $client.text();
var searchMatchesName = clientName.toUpperCase().indexOf(text.toUpperCase()) >= 0;
if(searchMatchesName) {
$client.show();
} else {
$client.hide();
}
});
}
这不是最有效或更花哨的方法,但应该足以让你开始。
工作jsFiddle:http://jsfiddle.net/u5WS3/
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 是Google自定义搜索API的客户端请求数量有限
- 使用 CSS3 数据属性进行客户端文本搜索
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 客户端搜索复选框值
- 如何从Backgrid客户端搜索中获取totalRows
- 使用jQuery和MVC进行客户端-服务器搜索
- 是否可以使用客户端脚本获取推特搜索 API 版本 1.1 的数据
- 是否可以优化Javascript客户端搜索
- 使用JavaScript搜索四方而不暴露客户端秘密
- 搜索过滤器,我应该在客户端还是服务器端做
- 在客户端搜索对象
- 我如何阻止客户端使用firefox's搜索框显示时,玩我的HTML5游戏与WASD
- XML搜索或DB搜索/ javascript(客户端)或php(服务器端)计算
- javascript来隐藏所有与文本输入搜索框的内容不对应的客户端
- JQuery 客户端搜索