📌  相关文章
📜  如何使用 DataTables 插件实现特定于列的搜索过滤器?

📅  最后修改于: 2021-11-25 03:09:22             🧑  作者: Mango

DataTables是一个现代 jQuery 插件,用于向网页的 HTML 表格添加交互式和高级控件。它是一个非常易于使用的插件,具有多种选项供开发人员根据应用程序的需要进行自定义更改。该插件的功能包括分页、排序、搜索和多列排序。

在本文中,我们将演示使用DataTables插件实现特定于列的搜索过滤器。不是对整个表进行搜索操作,而是只对特定的列进行搜索,以提高系统的性能

方法:在下面的例子中,数据表使用学生的详细信息HTML表作为主要来源。表中的每一行显示一个学生信息的详细信息。

  • 一个 DataTable 被初始化。
  • 开发人员可以根据需要设置分页或搜索的功能,如代码的脚本部分所示。
  • column() API 用于选择表的所有列。
  • flatten() API 用于将二维数组结构转换为一维数组,而each()方法用于对每个选定的列执行任何操作。
  • 选择列表附加到每个列标题。
  • 对任何列表值的更改执行任何操作。
  • column().search() API 用于搜索选定的值, draw() API 用于反映表中操作后的变化。
  • column().cache() API 用于通过 sort()方法从列中获取数据以显示排序后的数据。
  • 对每一列都完成了所有步骤。

需要实现的预编译文件是

  • CSS CDN:

    https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css
  • JavaScript CDN:

    https://code.jquery.com/jquery-3.5.1.js
    https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js

示例:以下示例演示了上述方法,显示了特定于列的搜索过滤器操作。

HTML


  

  
  
  
  
  
  
  
    
  
  
  
  

  

  

    Column specific search filter     using DataTables plugin   

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
StudentIDStudentNameAgeGenderMarks Scored
ST1Prema35Female320
ST2Wincy36Female170
ST3Ashmita41Female860
ST4Kelina32Female433
ST5Satvik41male162
ST6William37Female372
ST7Chandan31male375
ST8David45male327
ST9Harry29male205
ST10Frost29male300
ST14Fiza31Female750
ST15Silva34male985
  
        


输出: