Ben*_*wis 3 html javascript jquery twitter-bootstrap
我有很多(30 +)个Bootstrap面板,如下所示(每个都有不同的标题和内容):
<div class="panel">
<div class="panel-heading">
<h3 class="panel-title">Title</h3>
</div>
<div class="panel-body">
Content
</div>
<div class="panel-footer">
Footer
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个搜索输入
<input type="text" id="filter" placeholder="Filter Algorithms">
Run Code Online (Sandbox Code Playgroud)
当有人键入过滤器框时,我会想要这样做,它会搜索面板的标题并根据需要过滤掉它们.我以前见过这个,但我不太清楚从哪里开始.这是我到目前为止的代码:
$('#filter').keyup(function(){
$('body').find('.panel-title').find($('#filter').val());
});
Run Code Online (Sandbox Code Playgroud)
试试这个:
var $panels = $('.panel');
$('#filter').on('keyup', function() {
var val = this.value.toLowerCase();
$panels.show().filter(function() {
var panelTitleText = $(this).find('.panel-title').text().toLowerCase();
return panelTitleText.indexOf(val) < 0;
}).hide();
});
Run Code Online (Sandbox Code Playgroud)
参考
jQuery.filter():http://api.jquery.com/filter