如何使用带有 keyUp 函数的输入框来动态显示匹配的列表元素
How to use an input box with an keyUp function to dynamically display matched list elements
我在 codepen.io 创建了一个链接到 twitch 流列表的网站,然后在一个选项卡中显示在线流媒体,在另一个选项卡中显示离线,在第三个选项卡中显示两者。 每个用户都通过 JQuery 函数追加到相应的选项卡。 (这有效)
我正在尝试使用输入元素搜索选项卡并显示匹配的抽搐流。
我已经在文本元素上使用 at keyup 函数,但我不知道如何将其应用于附加了元素的选项卡。 唯一提出的类似问题与简单的列表有关,而不是选项卡。
感谢您的任何和所有帮助。
这就是我到目前为止所得到的:
该网页:
<h1 id="head">
<input type="text" id="inputBox" class="rounded" value="">
</h1>
<ul class="nav nav-tabs" id = "list">
<li class="nav active" id ="AllTab"><a href ="#All" role="tab" data-toggle="tab">All</a></li>
<li class="nav" id ="OnlineTab"><a href="#Online" role="tab" data-toggle="tab">Online</a></li>
<li class="nav" id="OfflineTab"><a href="#Offline" role="tab" data-toggle="tab">Offline</a></li>
</ul>
<div class="tab-content" id="stuff">
<div class="tab-pane fade in active" id="All">
</div>
<div class="tab-pane fade" id="Online">
</div>
<div class="tab-pane fade" id="Offline" >
</div>
</div>
有问题的 JavaScript:
$('#inputBox').keyup(function(){
var valThis = $(this).val();
$('.nav active').each(function(){
var text = $(this).text().toLowerCase();
(text.indexOf(valThis) != -1) ? $(this).show() : $(this).hide();
});
});
试试这个 - 小提琴
$('#inputBox').keyup(function () {
var valThis = $(this).val().toLowerCase();
$('.nav,.tab-pane').hide();
$('.nav').each(function () {
var text = $(this).text().toLowerCase();
if (text.indexOf(valThis) > -1) {
$(this).show();
$('#'+$(this).attr("id").replace('Tab','')).show();
} else {
$(this).hide();
$('#'+$(this).attr("id").replace('Tab','')).hide();
}
});
});
此外,Angular JS使得在大数据上实现此类功能变得非常容易。你可能想看看。
相关文章:
- 剑道UI下载列表:如何动态添加新元素
- 将列表元素动态添加到ul元素中
- 隐藏并显示列表中的元素
- 我正在尝试从 xhtml 文件中动态提取所有
元素,并使用 javascript 将它们放入选择列表中
- 动态显示元素上的JavaScript触摸端;不要开火
- 如何使用slideDown()显示动态生成的元素
- 动态隐藏列表中的元素,而隐藏的元素不会占用页面上的空白空间
- Jquery Chosen插件-通过Ajax动态填充列表时显示加载图标
- 一次显示n个列表元素,jQuery
- 显示绑定到动态生成的元素的所有事件处理程序
- 如何将动态创建的元素添加到我的动态创建列表中
- 动态显示和隐藏元素
- 根据下拉列表中选择的内容隐藏和显示 HTML 元素
- 如何在使用jquery / css动态显示周围元素的同时保持当前屏幕位置
- Angularjs基于存储在会话存储中并存储在$scope上的变量动态显示/隐藏元素
- 不要显示列表元素,直到链接被点击
- Jquery:需要帮助理解为什么它同时隐藏和显示列表元素,我在脚本中是否自相矛盾
- 如何使用带有 keyUp 函数的输入框来动态显示匹配的列表元素
- 使用knockout动态显示/隐藏元素
- Jquery隐藏/显示列表元素从ul