Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 Datatables:当用户根据条件单击选项卡时,如何将数据加载到网格中_Javascript_Jquery_Json_Datatables - Fatal编程技术网

Javascript Datatables:当用户根据条件单击选项卡时,如何将数据加载到网格中

Javascript Datatables:当用户根据条件单击选项卡时,如何将数据加载到网格中,javascript,jquery,json,datatables,Javascript,Jquery,Json,Datatables,因此,我正在开发一个使用DataTables API的网站,其中包含有关疑难解答视频的信息。“我的数据”表中有“状态”、“已批准”、“已认证”和“已拒绝”的所有视频状态选项卡,允许您浏览具有不同状态的视频 为了提高效率,我将传入一个“所有视频”JSON对象,而不是为每类视频传入一个JSON对象。所以我要做的是过滤我的“所有视频”表中的第一列,即状态,然后找到我要查找的状态。例如,当您点击“Approved”选项卡时,我想显示所有表格行,其中GRID.column(0).data()=“Appro

因此,我正在开发一个使用DataTables API的网站,其中包含有关疑难解答视频的信息。“我的数据”表中有“状态”、“已批准”、“已认证”和“已拒绝”的所有视频状态选项卡,允许您浏览具有不同状态的视频

为了提高效率,我将传入一个“所有视频”JSON对象,而不是为每类视频传入一个JSON对象。所以我要做的是过滤我的“所有视频”表中的第一列,即状态,然后找到我要查找的状态。例如,当您点击“Approved”选项卡时,我想显示所有表格行,其中GRID.column(0).data()=“Approved”

以下是pageSetUp()函数中的代码:

     $("#VideoReviewTabs li").on("click", function (e) {
        $("#VideoReviewTabs li").removeClass("active");
        $(this).addClass("active");
        loadSelectedList($(this).data("listname"));
    });
    function loadApprovedVideosTab() {
       var GRID = $("#VIDEO_GRID").DataTable();
       var typeCol = GRID.column(0).data();
       GRID.column(0).data().filter(function (value, index) {
        return value == "Approved" ? true : false;
       });
    }
下面是loadApprovedVideosTab()函数:

     $("#VideoReviewTabs li").on("click", function (e) {
        $("#VideoReviewTabs li").removeClass("active");
        $(this).addClass("active");
        loadSelectedList($(this).data("listname"));
    });
    function loadApprovedVideosTab() {
       var GRID = $("#VIDEO_GRID").DataTable();
       var typeCol = GRID.column(0).data();
       GRID.column(0).data().filter(function (value, index) {
        return value == "Approved" ? true : false;
       });
    }
此筛选功能肯定不起作用,选择各种选项卡对表格网格没有任何影响。确实调用了loadApprovedVideosTab()函数,但过滤显然不起作用


任何建议都很好。谢谢。

我想这是因为你的函数没有返回任何东西。。。试一试

function filterApprovedVideosTab() {
   var GRID = $("#VIDEO_GRID").DataTable();
   // var typeCol = GRID.column(0).data();

   return GRID.column(0).data().filter(function (value, index) {
    return value == "Approved" ? true : false;
   });
}

var approved = filterApprovedVideosTab();

要获得
批准的
视频,您可以使用相应列上的功能
搜索
,然后调用draw:

function loadApprovedVideosTab() {
   var GRID = $("#VIDEO_GRID").DataTable();
   GRID.column(0).search('Approved').draw();
}

loadSelectedList()函数在第一个代码段中是一个调用loadApprovedVideosTab()的函数。它正在被调用,但没有填充网格。因此您需要重新绘制表