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

jQuery多列多关键词搜索异常:输入后表格消失求助

jQuery多列多关键词搜索表格内容消失问题求助

之前淘到一段jQuery多列多关键词搜索的代码,效果本来挺赞的,结果接入项目后踩坑了:每次在搜索框输入内容,后面的整个表格内容直接就消失了。

最开始只给部分列加搜索框的时候还好好的,可当我把所有列都配上搜索输入框之后就出问题了——现在哪怕我只留1个搜索框,这个问题还是没解决,完全没法正常用。

我的代码如下(部分内容因原提问未贴全做了补充标注):

<?php include("dbconnect.php"); ?> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- 原提问中未贴入jQuery引入、样式表等头部内容 -->
</head>
<body>
<!-- 表格及搜索输入框结构 -->
<table>
  <thead>
    <tr>
      <!-- 示例列的表头与搜索框,实际项目中为所有列添加了类似结构 -->
      <th>列名1 <input type="text" class="search-input" data-column="0"></th>
      <th>列名2 <input type="text" class="search-input" data-column="1"></th>
      <!-- 更多列的表头及搜索输入框 -->
    </tr>
  </thead>
  <tbody>
    <!-- PHP从数据库拉取数据生成表格行 -->
    <?php
    // 数据库查询逻辑(原提问未贴全,此处为常规示例)
    $sql = "SELECT * FROM target_table";
    $result = mysqli_query($conn, $sql);
    while ($row = mysqli_fetch_array($result)) {
        echo "<tr>";
        echo "<td>" . $row['column1'] . "</td>";
        echo "<td>" . $row['column2'] . "</td>";
        // 对应更多列的内容输出
        echo "</tr>";
    }
    ?>
  </tbody>
</table>

<!-- 原提问中应包含的jQuery引用及搜索逻辑代码 -->
<script src="https://code.jquery.com/jquery-3.x.x.min.js"></script>
<script>
$(document).ready(function() {
    $('.search-input').on('keyup', function() {
        var columnIndex = $(this).data('column');
        var searchValue = $(this).val().toLowerCase();
        
        $('tbody tr').each(function() {
            var cellText = $(this).find('td').eq(columnIndex).text().toLowerCase();
            if (cellText.indexOf(searchValue) === -1) {
                $(this).hide();
            } else {
                $(this).show();
            }
        });
    });
});
</script>
</body>
</html>

有没有大佬能帮忙排查下问题根源,给个可行的解决方案呀?

内容的提问来源于stack exchange,提问作者Björn Plate

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:40:36