Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用filer API过滤数据表上的数据_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript 如何使用filer API过滤数据表上的数据

Javascript 如何使用filer API过滤数据表上的数据,javascript,jquery,datatables,Javascript,Jquery,Datatables,我想使用文档中描述的方法筛选数据表中的数据。过滤的工作原理是过滤数据,但我没有找到用过滤数据更新表的方法。我想要所有年龄小于或等于40岁的员工 我的HTML代码: <table id="myTable" class="display" style="width:100%"> <thead> <tr> <th>Name</th>

我想使用文档中描述的方法筛选数据表中的数据。过滤的工作原理是过滤数据,但我没有找到用过滤数据更新表的方法。我想要所有年龄小于或等于40岁的员工

我的HTML代码:

<table id="myTable" class="display" style="width:100%">
    <thead>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Tiger Nixon</td>
            <td>System Architect</td>
            <td>Edinburgh</td>
            <td>24</td>
            <td>2011/04/25</td>
            <td>$320,800</td>
        </tr>
        <tr>
            <td>Garrett Winters</td>
            <td>Accountant</td>
            <td>Tokyo</td>
            <td>63</td>
            <td>2011/07/25</td>
            <td>$170,750</td>
        </tr>
        <tr>
            <td>Ashton Cox</td>
            <td>Junior Technical Author</td>
            <td>San Francisco</td>
            <td>40</td>
            <td>2009/01/12</td>
            <td>$86,000</td>
        </tr>
        <tr>
            <td>Cedric Kelly</td>
            <td>Senior Javascript Developer</td>
            <td>Edinburgh</td>
            <td>22</td>
            <td>2012/03/29</td>
            <td>$433,060</td>
        </tr>
        <tr>
            <td>Airi Satou</td>
            <td>Accountant</td>
            <td>Tokyo</td>
            <td>33</td>
            <td>2008/11/28</td>
            <td>$162,700</td>
        </tr>
        <tr>
            <td>Brielle Williamson</td>
            <td>Integration Specialist</td>
            <td>New York</td>
            <td>61</td>
            <td>2012/12/02</td>
            <td>$372,000</td>
        </tr>
      <tr>
            <td>Tiger Nixon</td>
            <td>System Architect</td>
            <td>Edinburgh</td>
            <td>64</td>
            <td>2011/04/25</td>
            <td>$320,800</td>
        </tr>
        <tr>
            <td>Herrod Chandler</td>
            <td>Sales Assistant</td>
            <td>San Francisco</td>
            <td>59</td>
            <td>2012/08/06</td>
            <td>$137,500</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </tfoot>
</table>

名称
位置
办公室
年龄
开始日期
薪水
老虎尼克松
系统架构师
爱丁堡
24
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
40
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
老虎尼克松
系统架构师
爱丁堡
64
2011/04/25
$320,800
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
名称
位置
办公室
年龄
开始日期
薪水
我的JavaScript(我正在使用Jquery):

$(文档).ready(函数(){
let table=$('#myTable').DataTable();
$('#filterTable')。单击(函数(){
让filteredData=表
.第(3)栏
.data()
.过滤器(函数(值){
返回值因为Datatables筛选器()

…利用DataTables API对象是 “数组式”,因为它们继承了很多能力和方法 Javascript数组类型的

…但我没有找到用过滤后的 数据

为了用过滤后的值更新表,我建议添加一组找到的值和一个最终值

片段:

let table=$('#myTable').DataTable();
$('#filterTable')。单击(函数(){
让filteredData=表
.第(3)栏
.data()
.过滤器(函数(值){
返回值
$(document).ready( function () {
let table = $('#myTable').DataTable();

    $('#filterTable').click(function () {

      let filteredData = table
        .column(3)
        .data()
        .filter(function (value) {
            return value <= 40;
      });
});
table.column(3).search(filteredData.join('|'),true, false).draw();