【发布时间】:2021-10-27 10:39:09
【问题描述】:
我目前有这段代码可以在搜索时过滤掉文本 div。
我添加了 4 件名为“Hot Dog”的商品,它们的 SKU 完全不同,搜索时它只显示 2 件商品。如何让所有项目都显示?
JS 脚本会在搜索时过滤掉 div,但我似乎无法弄清楚为什么它只显示 2 个项目:
$(document).ready(function() {
var $btns = $('.btn').click(function() {
if (this.id == 'all') {
$('#parent > div').fadeIn(450);
} else {
var $el = $('.' + this.id).fadeIn(450);
$('#parent > div').not($el).hide();
}
$btns.removeClass('active');
$(this).addClass('active');
})
var $search = $("#search").on('input', function() {
$btns.removeClass('active');
var matcher = new RegExp($(this).val(), 'gi');
$('.box').show().not(function() {
return matcher.test($(this).find('.name, .sku').text())
}).hide();
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
<div class="col-md-4">
<input type="text" id="search" class="form-control" placeholder="Search product by name or sku">
</div>
</div>
<hr>
<div class="row" id="parent">
<div class="col-md-2 box drink">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Pepsi </p>
<p class="sku">D-1251</p>
<p>$ 2,410</p>
</center>
</div>
<div class="col-md-2 box drink">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Cocacola </p>
<p class="sku">D-1314</p>
<p>$ 2,410</p>
</center>
</div>
<div class="col-md-2 box drink">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Mountien Dwe </p>
<p class="sku">D-458</p>
<p>$ 2,410</p>
</center>
</div>
<div class="col-md-2 box food">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Burger </p>
<p class="sku">F-125</p>
<p>$ 2,410</p>
</center>
</div>
<div class="col-md-2 box food">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Hot Dog </p>
<p class="sku">F-7412</p>
<p>$ 2,410</p>
</center>
</div>
<div class="col-md-2 box food">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Hot Dog 2</p>
<p class="sku">F-74122</p>
<p>$ 2,4103</p>
</center>
</div>
<div class="col-md-2 box food">
<center>
<img src="http://via.placeholder.com/80x80" class="" alt="">
<p class="name">Hot Dog 2233</p>
<p class="sku">F-74112</p>
<p>$ 2,4103</p>
</center>
</div>
</div>
【问题讨论】:
标签: javascript html jquery wordpress