0
我需要帮助如何管理面板的多个过滤器。 我想搜索多个字段,但要保留过滤器。 例如:我赖特面板仍然显示面板标题具有文本面板的所有面板,但在第二个输入,如果我写测试应该只显示面板有正文测试?div的jQuery多重过滤器
$("#srcPanelHeading").keyup(function() {
var panels = $('.panel-info');
var val = this.value.toLowerCase();
panels.show().filter(function() {
var panelHeadingText = $(this).find('.panel-heading').text().toLowerCase();
return panelHeadingText.indexOf(val) < 0;
}).hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
Panel Heading: <input type="text" class="form-control" id="srcPanelHeading" />
Panel Body: <input type="text" class="form-control" id="srcPanelBody"/>
<div class="panel panel-info">
<div class="panel-heading">Panel 1</div>
<div class="panel-body">
Test
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">Panel 2</div>
<div class="panel-body">
Something to read
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">Test 3</div>
<div class="panel-body">
Test
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading">Panel 4</div>
<div class="panel-body">
Test
</div>
</div>