首页 >web前端 >前端问答 >jquery实现搜索表格

jquery实现搜索表格

PHPz
PHPz原创
2023-05-24 22:23:06705浏览

jQuery实现搜索表格

在网页应用程序中,表格是常见的数据展示形式。当数据量很大时,通常需要添加搜索功能来快速定位所需的数据。本文将介绍如何使用jQuery实现搜索表格的功能。

  1. HTML代码

首先,我们需要准备一些HTML代码,包括一个表格和一个输入框。我们的表格包含姓名、年龄、性别和国籍等信息。

<table id="myTable">
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>性别</th>
      <th>国籍</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>张三</td>
      <td>25</td>
      <td>男</td>
      <td>中国</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>30</td>
      <td>女</td>
      <td>中国</td>
    </tr>
    <tr>
      <td>John Doe</td>
      <td>40</td>
      <td>男</td>
      <td>美国</td>
    </tr>
    <tr>
      <td>Jane Doe</td>
      <td>35</td>
      <td>女</td>
      <td>美国</td>
    </tr>
  </tbody>
</table>
<input type="text" id="myInput" placeholder="搜索">
  1. JavaScript代码

接下来,我们需要编写一些JavaScript代码。我们将使用jQuery库来简化代码编写过程。首先,我们需要获取输入框和表格元素。

var input = $("#myInput");
var table = $("#myTable");

然后,我们需要添加一个事件监听器,以便在输入框中输入时触发搜索功能。

input.on("keyup", function() {
  var value = $(this).val().toLowerCase(); // 获取输入框的值,并将其转换为小写字母
  table.find("tr").not(":first").filter(function() { // 找到表格中所有行(除第一行标题外)并过滤出与输入框中内容不匹配的行
    $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1) // toggle方法根据匹配结果显示或隐藏行
  });
});

在这段代码中,我们使用了jQuery的方法on()来添加事件监听器。当输入框触发keyup事件时,代码将获取输入框的值并将其转换为小写字母。然后,我们使用jQuery的方法find()filter()来搜索匹配的内容,并使用toggle()方法显示或隐藏行。在这个例子中,我们使用了indexOf()方法来检查文本是否包含搜索词。

  1. 完整代码

下面是完整的HTML和JavaScript代码:

<!DOCTYPE html>
<html>
<head>
  <title>jQuery实现搜索表格</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
  <input type="text" id="myInput" placeholder="搜索">
  <table id="myTable">
    <thead>
      <tr>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
        <th>国籍</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>张三</td>
        <td>25</td>
        <td>男</td>
        <td>中国</td>
      </tr>
      <tr>
        <td>李四</td>
        <td>30</td>
        <td>女</td>
        <td>中国</td>
      </tr>
      <tr>
        <td>John Doe</td>
        <td>40</td>
        <td>男</td>
        <td>美国</td>
      </tr>
      <tr>
        <td>Jane Doe</td>
        <td>35</td>
        <td>女</td>
        <td>美国</td>
      </tr>
    </tbody>
  </table>
  <script>
    var input = $("#myInput");
    var table = $("#myTable");
    input.on("keyup", function() {
      var value = $(this).val().toLowerCase();
      table.find("tr").not(":first").filter(function() {
        $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
      });
    });
  </script>
</body>
</html>
  1. 总结

使用jQuery实现搜索表格的功能比较简单,只需要编写少量的代码即可实现。通过使用jQuery的方法find()filter()toggle(),我们可以轻松地搜索匹配的内容并显示或隐藏行。

以上是jquery实现搜索表格的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn