javascript - 破表过滤器
问题描述
再会。有这样的代码。当我选择一个过滤器项目时,第二个项目不起作用。也就是说,如果我选择水果为“Apple”且颜色为“Orange”的过滤器,它将显示额外的数据。如何修改代码解决问题?我希望它是怎样的:我选择橙色,水果是苹果,只过滤橙色苹果。这样就不会显示所有橙色水果
$(document).ready(function(){
$(".name").on("click", function() {
name_list = []
$("#myTable tr").hide()
var flag = 1
$("input:checkbox[name=name]:checked").each(function(){
flag = 0;
var value = $.trim($(this).val().toLowerCase());
$("#myTable tr").filter(function() {
if($.trim($(this).text().toLowerCase().indexOf(value)) > -1)
$(this).show()
});
});
if(flag == 1)
$("#myTable tr").show()
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="list-group list-group-flush">
<li class="list-group-item">
<label class="container-box">green
<input type="checkbox" class="name" name="name" value="green" />
<span class="checkmark"></span>
</label>
</li>
<li class="list-group-item">
<label class="container-box">yellow
<input type="checkbox" class="name" name="name" value="yellow" />
<span class="checkmark"></span>
</label>
</li>
<li class="list-group-item">
<label class="container-box">red
<input type="checkbox" class="name" name="name" value="red" />
<span class="checkmark"></span>
</label>
</li>
</ul>
<ul class="list-group list-group-flush">
<li class="list-group-item">
<label class="container-box">apple
<input type="checkbox" class="name" name="name" value="apple" />
<span class="checkmark"></span>
</label>
</li>
<li class="list-group-item">
<label class="container-box">orange
<input type="checkbox" class="name" name="name" value="orange" />
<span class="checkmark"></span>
</label>
</li>
<li class="list-group-item">
<label class="container-box">mandarin
<input type="checkbox" class="name" name="name" value="mandarin" />
<span class="checkmark"></span>
</label>
</li>
</ul>
<table>
<thead>
<th>Color</th>
<th>Fruit</th>
</thead>
<tbody id='myTable'>
<tr>
<td>green</td>
<td>apple</td>
</tr>
<tr>
<td>yellow</td>
<td>orange</td>
</tr>
<tr>
<td>red</td>
<td>mandarin</td>
</tr>
</tbody>
</table>
解决方案
推荐阅读
- woocommerce - 在 WooCommerce 中提交审核后在产品页面上显示通知
- vbscript - 等待刷新过程完成,然后进入下一行代码
- visual-studio-code - 如何在 vscode 中为 HTML 和 Jinja 设置格式化程序?
- ffmpeg - 如何将原始未压缩 RTP 转码为 H264 RTSP 流
- mysql - MySQL 中的正则表达式:如何将每次出现的键与值模式匹配?
- azure - 使用 Azure 服务总线主题的结构化流式处理
- r - Windows 10 或 R 本身是否会删除我的临时目录?
- javascript - react-router-dom NavLink isActive 不能正常工作
- c - 当我将数组扔到 pthread 时,我有错误的值
- javascript - 当 ID 在里面时,如何将表单值传递到另一个页面?