如何添加到表过滤器以允许多个复选框选择以及从下拉列表中进行过滤?

2024-04-03

我有一个可以通过多个复选框以及“选择”下拉列表进行过滤的表格。本质上,我想要做的是单击多个复选框,以便找到包含该类(例如类 1 和 3)的每一行,然后按位置对其进行过滤。

此时我已经非常接近了,我可以从复选框中选择位置(这也是一个类,两个字母表示州缩写)和一个类,但我希望人们能够比较多个类从复选框中。

这个问题是我理解的,但似乎不知道如何解决。该代码将每个类添加到“tr”的末尾。这意味着如果您从复选框应用 2 个过滤器,它什么也找不到,而不是从每个过滤器中找到所有内容。虽然此行为对于 1 个复选框和下拉列表来说功能完美,这意味着它只会为我提供来自田纳西州的筛选器 1 值,但我希望它能够同时为我提供筛选器 2、筛选器 3 和筛选器 4,如果我所以选择。

关于如何改变它以使其允许多个复选框选择有什么想法吗?

顺便说一句,我可以使用的 JavaScript/jQuery 插件非常有限,这就是为什么我如此努力地在这个解决方案中使用 tableSorter。

My HTML:

 <form name="FilterForm" id="FilterForm" action="" method="">
    <input type="checkbox" name="filterStatus" value="1" /><label for="filter_1">Filter 1</label>
    <input type="checkbox" name="filterStatus" value="2" /><label for="filter_2">Filter 2</label>
    <input type="checkbox" name="filterStatus" value="3" /><label for="filter_3">Filter 3</label>
    <input type="checkbox" name="filterStatus" value="4" /><label for="filter_4">Filter 4</label>
    <select type="dropdown" name="filterStatus" id="chooseState" class="filter">
      <option value="ZZ">--Choose State--</option>
      <option value="TN">Tennessee</option>
      <option value="MO">Missouri</option>
      <option value="NV">Nevada</option>
      <option value="IA">Iowa</option>
    </select><label>State</label>
       </form>

<table id="StatusTable">
     <tbody>                        
       <tr class="1 TN">
       <td class="Name"></td>
       <td class="ID"></td>
       <td class="Type"></td>
       <td class="Location">City, Tennessee</td>
       <td class="Class"></td>
       <td class="Received"></td>
       <td class="Action"></td>
       <td class="Status">Active</td>
     </tr>
</tbody>
</table>

JavaScript:

    $("input[name='filterStatus'], select.filter").change(function () {
var classes = "";
var stateClass = ""

    $("input[name='filterStatus']").each(function() {
    if ($(this).is(":checked")) {
    classes += "." + $(this).val();
    }
});

$("select.filter").each(function() {
if ($(this).val() != 'ZZ') {
stateClass += "." + $(this).val();
}
});

if (classes == "" && stateClass == "") {
// if no filters selected, show all items
$("#StatusTable tbody tr").show();
} else {
// otherwise, hide everything...
$("#StatusTable tbody tr").hide();

    // then show only the matching items
rows = $("#StatusTable tr" + classes + stateClass);
if (rows.size() > 0) {
rows.show();
}
}

});

既然你知道问题所在,我就跳过解释并跳转到解决方案。

Use the .filter()方法与数组混合。

不要扩展字符串,而是将类名推入数组中:

var classes = [];

$("input[name='filterStatus']").each(function() {
    if ($(this).is(":checked")) {
        classes.push('.'+$(this).val());
    }
});

然后在选择行时使用.filter()就像那样:

rows = $("#StatusTable tr" + stateClass).filter(classes.length ? classes.join(',') : '*')

然后一切正常!

Fiddle http://jsfiddle.net/ZRRnG/4/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何添加到表过滤器以允许多个复选框选择以及从下拉列表中进行过滤? 的相关文章

  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • 如何将此 HTML 表格布局解决方案转换为浮动 div 解决方案?

    我经常需要列出各种尺寸的项目images在左边和text在右边 像这样 替代文本 http www deviantsart com upload 7s01l5 png http www deviantsart com upload 7s01
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • 即使我可以监视其他方法,也无法监视事件处理程序

    我想使用 Jest Jasmine Enzyme 测试 React 中的事件处理程序 MyComponent js import React from react class MyComponent extends React Compon
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 仅一页 JavaScript 应用程序

    您是否尝试过单页 Web 应用程序 即浏览器仅从服务器 获取 一页 其余部分由客户端 JavaScript 代码处理 此类 应用程序页面 的一个很好的例子是 Gmail 对于更简单的应用程序 例如博客和 CMS 使用这种方法有哪些优点和缺点
  • 如何使用 JavaScript 获取没有 HTML 元素的纯文本?

    我的 HTML 中有 1 按钮和一些文本 如下所示 function get content I don t know how to do in here
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 如何流式传输 OpenAI 的完成 API?

    我想流式传输结果通过 OpenAI 的 API 完成 https beta openai com docs api reference completions 该文档提到使用服务器发送的事件 https developer mozilla
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 使用流体网格系统在引导程序上对齐输入

    我正在创建一个表单 要求用户输入他们的姓名和电子邮件地址 表单的第一行对于姓名的每个部分都有两个并排的输入 第二行对于电子邮件地址有一个输入 其宽度应与第一行组合的宽度相同 我正在尝试使用流体网格系统 但无法将第二行与第一行对齐
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • :jQuery / Sizzle 中的 nth-of-type()?

    让我惊讶的是Sizzle http sizzlejs com jQuery 使用的选择器引擎 带有一个内置的 nth child 选择器 但缺少 nth of type 选择器 为了说明之间的区别 nth child and nth of
  • Select2 下拉列表动态添加、删除和刷新项目

    这让我发疯 为什么 Select2 不能在其页面上实现清晰的方法或示例如何在 Select2 上进行简单的 CRUD 操作 我有一个 select2 从 ajax 调用获取数据
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 如何修复日期过滤器 VBA,因为它没有拾取我范围内的所有日期

    我正在尝试创建一个过滤器来过滤掉我选择的日期内的所有日期 我选择的日期将始终反映整个月 例如 如果我需要 2019 年 5 月的数据 我将输入开始日期为 01 05 2019 结束日期为 31 05 2019 我的数据过滤器将需要选取经过我
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas

随机推荐

  • 使用已删除的名称创建 Azure API 管理会导致名称“已在使用中”错误

    我之前使用 Terraform 创建并随后删除了 Azure API 管理服务 它消失在Azure Portal中 几个小时后 当我尝试使用相同名称重新创建 API 管理时 我在 Azure 门户中收到此错误 name already in
  • R ranger 包中的预测概率

    我正在尝试在 R 中建立一个具有随机森林分类的 模型 通过 Ned Horning 编辑代码 我首先使用randomForest包但后来发现ranger 这保证了更快的计算 首先 我使用下面的代码在拟合模型后获得每个类别的预测概率rando
  • 编译器如何为 C++ 中条件声明的自动变量分配内存?

    假设我有一个函数 根据某些运行时条件创建昂贵的自动对象或创建便宜的自动对象 void foo if runtimeCondition int x 0 else SuperLargeObject y 当编译器为此函数分配堆栈帧的内存时 它是否
  • jquery selectedIndex 不起作用

    我有一个带有许多选择标签的 from 当用户提交表单时 我想检查用户是否为所有选择标签选择一个选项 这是我的 jquery 代码 apForm select each function var this this if this selec
  • Kubernetes 配置映射符号链接 (..data/):有办法避免它们吗?

    我注意到 当我创建并安装包含一些文本文件的配置映射时 容器会将这些文件视为符号链接 data myfile txt 例如 如果我的配置映射名为 tc configs 并包含 2 个名为 stripe1 xml 和 stripe2 xml 的
  • CSS Calc((100%/5)+10px) 不起作用

    好吧 在我的 CSS 中 我正在尝试进行数学计算 calc 100 5 10px 当我这样做时 它不起作用 当我计算时 100 5 它工作得很好 我需要做什么才能让 10px 正常工作 您需要做的是使用正确的语法 calc 100 5 10
  • 如何在 Ionic 框架中使用 CSS 选择器隔离特定平台

    我遇到了一种罕见的情况 尽管考虑到 Android 和 iOS 之间的行为不同 这是可以理解的 我想在我正在 Ionic 框架上开发的 Cordova 应用程序中使用专门针对 iOS 的不同样式 我想知道基于平台隔离选择器的最佳方法 基本上
  • 如何通过azure云服务上的kubernetes检查持久卷的内容

    我已将软件打包到容器中 我需要通过Azure容器服务将容器放入集群 该软件具有目录的输出 src data 我想访问整个目录的内容 搜索后 我必须解决 在azure上使用Blob存储 但是搜索后 我找不到可执行方法 使用持久卷 但是我找到的
  • Python Pygame 游戏灯光

    我正在制作一款 2D 横向卷轴游戏 游戏中的一个物品是火炬 我有一个手臂可以旋转的玩家 我们可以获取手臂的角度 我正在寻找跟随手臂角度的三角形光束形状 我有一些想法 比如在整个屏幕上放置一个 alpha 图像 并根据手臂角度单独从每个像素中
  • 具有扩展方法的 Kotlin 数据绑定

    我正在尝试在 Android 的数据绑定中使用 Kotlin 扩展方法 例如 调用 onclick 处理程序 所以我编写了这段代码 posttest list item xml
  • 输入文件大小和内容在 macOS 上不会更新

    我编写了一个基于网络的小型工具 它使用文件输入来读取不断变化的文件 用户手动选择它 一次 JavaScript 会跟踪它的更改时间 上次文件修改时间和文件大小 如果已更改 则会再次读取文件内容 这在 Windows 上的所有浏览器中都可以正
  • PHP AWS SDK 3错误:AWS HTTP错误:cURL错误6:无法解析主机:s3.oregon.amazonaws.com

    我正在尝试连接到 AWS 版本 3 SDK 存储桶 但是 我收到以下错误 PHP 致命错误 未捕获异常 Aws S3 Exception S3Exception 并显示消息 在 上执行 PutObject 时出错 https s3 oreg
  • 我如何在 codeigniter 中创建一个虚荣网址

    我如何在 codeigniter 中创建一个虚荣网址 我在框架中执行此操作确实遇到困难 而且似乎没有任何好的答案 有可能 我正在我的一个项目中使用它 这是 CodeIgniter 论坛上的一个帖子 展示了如何做到这一点 http codei
  • 您遇到过的最好的源代码注释是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 .NET Core 时是否需要 AssemblyInfo?

    之前 AssemblyInfo cs文件是由 Visual Studio 自动创建的 用于包含程序集范围的属性 如 AssemblyVersion AssemblyName 等 在 NET Core 和 ASP NET Core 中 pro
  • T-SQL - 按周进行透视

    我目前正在尝试创建一个 T SQL 它运行表中的交货列表 并按客户和仓库对它们进行分组 因此每一行都将是 客户 仓库 总价值 称为费率的列的总和 然而 客户希望将 总价值 分为过去 9 周 因此 我们将拥有如下列 而不是总价值 22 01
  • 为什么我的 rustup rust-toolchain 文件没有覆盖默认值?

    我想使用 Rust 每晚 构建来与 Arrow 和 Datafusion 配合使用 根据这个帖子 https stackoverflow com questions 58226545 how to switch between rust t
  • ESP8266 I2C从机不确认数据

    我有一个 TM4C123 处理器作为 I2C 主处理器 一个 ESP8266 作为从处理器 对于 ESP 我使用的是 Arduino IDE 并在 2 5 2 版安装了 ESP8266 支持 它应该支持 I2C 从模式 但是 我无法让它工作
  • NsdManager.DiscoveryListener.onServiceFound 的 NsdServiceInfo 中 Host 为 null

    我试图将 NsdServiceInfo 的 mHost 作为参数传递给 NsdManager DiscoveryListener onServiceFound 但它为空 我有两个 Android 设备 其中设备 1 是服务器 设备 2 是客
  • 如何添加到表过滤器以允许多个复选框选择以及从下拉列表中进行过滤?

    我有一个可以通过多个复选框以及 选择 下拉列表进行过滤的表格 本质上 我想要做的是单击多个复选框 以便找到包含该类 例如类 1 和 3 的每一行 然后按位置对其进行过滤 此时我已经非常接近了 我可以从复选框中选择位置 这也是一个类 两个字母