2014-07-23 28 views
1

因此,我正在使用DataTables API的網站上工作,該網站託管有關故障診斷視頻的信息。我的數據表中有所有狀態,已批准,已認證和已拒絕的視頻狀態標籤,可用於瀏覽各種狀態的視頻。Datatables:當用戶點擊選項卡時基於條件如何將數據加載到網格

爲了提高效率,我傳遞了一個「所有視頻」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")); 
    }); 

而這裏的loadApprovedVideosTab()函數:

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()函數確實被調用,但過濾顯然不起作用。

任何建議將是偉大的。謝謝。

回答

0

我想這是因爲你的函數不返回任何東西...嘗試

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(); 
+0

loadSelectedList()函數是調用loadApprovedVideosTab()的函數。它被調用,但沒有填充網格。 –

+0

所以你需要重繪你的表格 –

0

爲了得到Approved視頻,您可以使用在對應列功能search,然後調用借鑑它:

在第一個代碼段
function loadApprovedVideosTab() { 
    var GRID = $("#VIDEO_GRID").DataTable(); 
    GRID.column(0).search('Approved').draw(); 
} 

Reference.

相關問題