You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于多个选择框筛选表格行?求助解决第二个选择框失效问题

双选择框表格筛选失效修复

你的问题出在searchTable函数里——代码完全没用到第二个选择框的筛选条件,只处理了第一个选择框的值,所以第二个选框自然不会生效。

修改后的searchTable函数逻辑如下:

  • 默认让行显示,再根据两个筛选条件逐一校验,不满足则隐藏
  • 处理选择框未选择的情况(值为空时跳过对应条件)
  • 精准匹配对应列:第一个选框匹配表格第一列(Role Category),第二个匹配第三列(Region)
function searchTable() {
    var input, filter, inputtwo, filtertwo, table, tr, td, i;
    input = document.getElementById("myInput");
    filter = input.value.toUpperCase();
    inputtwo = document.getElementById("myInput2");
    filtertwo = inputtwo.value.toUpperCase();
    table = document.getElementById("myTable");
    tr = table.getElementsByTagName("tr");
    
    for (i = 0; i < tr.length; i++) {
        // 跳过表头
        if (tr[i].id === 'tableHeader') continue;
        
        td = tr[i].getElementsByTagName("td");
        let shouldShow = true;
        
        // 第一个筛选条件:Role Category(第一列)
        if (filter) {
            if (td[0].innerHTML.toUpperCase() !== filter) {
                shouldShow = false;
            }
        }
        
        // 第二个筛选条件:Region(第三列)
        if (shouldShow && filtertwo) {
            if (td[2].innerHTML.toUpperCase() !== filtertwo) {
                shouldShow = false;
            }
        }
        
        tr[i].style.display = shouldShow ? "" : "none";
    }
}

把这段代码替换原页面中的<script>标签内的函数即可。这样两个选择框会同时生效,实现交集筛选——只有同时满足两个选择框条件的行才会显示。如果需要实现"或"逻辑,只需要调整条件判断即可,但根据你的需求,交集筛选更合理。

内容的提问来源于stack exchange,提问作者Phill Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 15:10:42