我使用jquery数据表,并且我为数据表的初始化分配了一个值数组。该表基本上看起来像这样。
基于单选按钮,我想限制表格中显示的项目和表格中搜索的项目。 对于我的例子,它将基于" Chart列"。我想限制表格只显示基于图表的项目" D"或图表" S"。以下是我如何初始化表格。
if (!$.fn.DataTable.isDataTable( '#fundLookUptbl' ) ) {
fundTable = $('#fundLookUptbl').DataTable( {
data: funds,
columns: [
{ "mData": "chart" },
{ "mData": "fund" },
{ "mData": "orgDefault" },
{ "mData": "progDefault" }
]
} );
var filteredData = fundTable
.columns( [0, 1] )
.data()
.eq( 0 )
.filter( function ( value, index ) {
return value = 'D' ? true : false;
} );
}
这显然不起作用,而filterData
变量是试图使其工作的糟糕尝试。我很难理解API。所以问题是,如何初始化表只显示基于给定图表的项目。我知道我可以删除阵列中的项目,但我不想这样做,因为我很想简单地在图表之间切换" D"和" S"但仍然继续搜索其他列。
答案 0 :(得分:1)
答案 1 :(得分:1)
我不确定要理解你想做什么,但这里有一些选择:
一种方法是默认选择值“s”。您可以使用下拉列表更容易处理。然后使用jQuery选择该下拉列表中的dafault值“s”并添加一个函数
$("#DropdownId").change(function () {
var chart=$("#DropdownId").val();
});
$.ajax({
url: "url")",//url to reload page with new value
type: "POST",
data: {chart:chart},
success: function (data) {
}
});
});
这样过滤器就在后端。如果您想根据列值在行上执行某些操作,请添加类似
的内容"fnRowCallback": function (nRow, mData, iDisplayIndex, iDisplayIndexFull) {
if (mData["chart"] =="s") {
return nRow;
}
},
祝你好运
答案 2 :(得分:0)
fundTable.order( [0, 'asc'] );
尝试或查看此特定页面以供参考:
https://datatables.net/reference/api/order%28%29 基本上是在asc(结束)或desc(结束)顺序中的columnIndex对中的订单。