使用jQuery搜索和过滤引导面板

时间:2013-10-08 12:06:57

标签: javascript jquery html 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>

我有一个搜索输入

<input type="text" id="filter" placeholder="Filter Algorithms">

当有人键入过滤器框时,我会想要这样做,它会搜索面板的标题并根据需要过滤掉它们。我以前见过这个,但我不太清楚从哪里开始。这是我到目前为止的代码:

$('#filter').keyup(function(){
    $('body').find('.panel-title').find($('#filter').val());
});

2 个答案:

答案 0 :(得分:5)

试试这个:

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();
});

<强>参考

  1. jQuery.filter()http://api.jquery.com/filter

答案 1 :(得分:0)

这个jquery插件可能很有用: http://labs.easyblog.it/jquery-filterbox/

$('#list').filterbox({
        container: '.list-group',
        child: '.list-group-item',
        childKey: '.list-group-item > .title'
    });