Javascript 如何通过输入下拉列表过滤html中的表格?

Javascript 如何通过输入下拉列表过滤html中的表格?,javascript,jquery,html,Javascript,Jquery,Html,我有一个下拉列表和一个HTML格式的表格。我需要使用下拉列表过滤表的外观。 下拉列表有四个值。如果选择值“All”,则表格应显示整个表格。否则,该表应根据下拉表中选择的值显示内容。 该表如下所示: 这是代码: 我的桌子{ 宽度:100%; 边界塌陷:塌陷; } .tr{ 背景:8080; 颜色:白色; 字体大小:粗体; } mytable结核{ 填充物:5px; 边框:1px纯黑; 文本对齐:左对齐; } 选项div{ 垫底:10px; 字体大小:粗体; } 选择字段{ -webkit边界半

我有一个下拉列表和一个HTML格式的表格。我需要使用下拉列表过滤表的外观。 下拉列表有四个值。如果选择值“All”,则表格应显示整个表格。否则,该表应根据下拉表中选择的值显示内容。 该表如下所示:

这是代码:

我的桌子{ 宽度:100%; 边界塌陷:塌陷; } .tr{ 背景:8080; 颜色:白色; 字体大小:粗体; } mytable结核{ 填充物:5px; 边框:1px纯黑; 文本对齐:左对齐; } 选项div{ 垫底:10px; 字体大小:粗体; } 选择字段{ -webkit边界半径:5px; -moz边界半径:5px; 边界半径:5px; 边框:1px实心ccc; 字体大小:16px; 高度:30px; 宽度:200px; } .奇怪{ 背景:ccffeb; } .甚至{ 背景:99FFD6; } Paleetu提供各种与BPM相关的课程。 请从下面的下拉列表中选择课程

全程 Pega-CSA Pega综援 卡蒙达BPM 开始 终止 时间 课程 价格 信用 地方 2020年4月1日 2020年4月17日 上午9:30至下午12:30 Pega-CSA 14000卢比 125 班加罗尔 2020年4月1日 2020年4月17日 下午1:30至5:30 Pega综援 14000卢比 50 班加罗尔 2020年4月1日 2020年4月17日 下午1:30至5:30 卡蒙达BPM 14000卢比 90 班加罗尔
我将在代码中添加注释来解释发生了什么

让rows=Array.frommytable.querySelectorAll'tr.content';//包含所有表行的数组 让cellMap=新映射;//初始化映射 rows.forEachrow=> cellMap.set 行,//我们将使用它将行存储为键 Array.fromrow.QuerySelector all'td' .maptd=>td.textContent//将行的表单元格文本内容作为值 ; //与其使用“onchange”,不如始终使用addEventListener myfilter.addEventListener'change'函数{ 如果this.value=='all'{//如果选择了'all' rows.forEachrow=>row.hidden=false;//取消隐藏每一行 回来 } //否则 const searchTerm=this.selectedOptions[0]。textContent;//提取我们要查找的术语 rows.forEachrow=>{//遍历表中的行 //对于每一行,决定是否应该隐藏它 row.hidden=!cellMap.getrow.includesearchterm;//基于该行的cellMap中是否出现搜索词 } }; 我的桌子{ 宽度:100%; 边界塌陷:塌陷; } .tr{ 背景:8080; 颜色:白色; 字体大小:粗体; } mytable td{ 填充物:5px; 边框:1px纯黑; 文本对齐:左对齐; } 选项div{ 垫底:10px; 字体大小:粗体; } 选择字段{ -webkit边界半径:5px; -moz边界半径:5px; 边界半径:5px; 边框:1px实心ccc; 字体大小:16px; 高度:30px; 宽度:200px; } .奇怪{ 背景:ccffeb; } .甚至{ 背景:99FFD6; } Paleetu提供各种与BPM相关的课程。 请从下面的下拉列表中选择课程

全程 Pega-CSA Pega综援 卡蒙达BPM 开始 终止 时间 课程 价格 信用 地方 2020年4月1日 2020年4月17日 上午9:30至下午12:30 Pega-CSA 14000卢比 125 班加罗尔 2020年4月1日 2020年4月17日 下午1:30至5:30 Pega综援 14000卢比 50 班加罗尔 2020年4月1日 2020年4月17日 下午1:30至5:30 卡蒙达BPM 14000卢比 90 班加罗尔
请去读。我们希望你首先自己付出一些努力——至少你需要尝试一下。@CBroe:当然。我道歉。这是我的第一个问题。