所以我在一个使用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"));
});
下面是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()函数确实被调用了,但是过滤显然不起作用。
任何建议都会很好。谢谢。
我认为这是因为你的函数不返回任何东西…试着
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();
为了获得Approved
视频,您可以在相应的列上使用search
函数,然后调用draw:
function loadApprovedVideosTab() {
var GRID = $("#VIDEO_GRID").DataTable();
GRID.column(0).search('Approved').draw();
}
参考。