因此,我使用DataTables API在网站上工作,该API提供有关视频疑难解答的信息。我的数据表中包含所有状态,已批准,已认证和已拒绝的视频状态标签,可让您浏览具有不同状态的视频。
为了提高效率,我传递了一个"所有视频" JSON对象,而不是为每个vidoes类别传入JSON对象。所以我要做的就是在我的"所有视频"上过滤第一列,即状态。表并找到我正在寻找的状态。例如,当您点击"已批准"选项卡,我想显示所有表格行,其中GRID.column(0).data()=="已批准"。
这是我在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 :(得分: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();
答案 1 :(得分:0)
要获取Approved
个视频,您可以使用相应列上的search
函数,然后调用draw:
function loadApprovedVideosTab() {
var GRID = $("#VIDEO_GRID").DataTable();
GRID.column(0).search('Approved').draw();
}