Datatables 根据第一列筛选其他列
我使用jquery数据表,并为数据表的初始化分配一个值数组。这张桌子基本上是这样的。 基于一个单选按钮,我想限制表中显示的项目和表中搜索的项目。 对于我的示例,它将基于图表列。我想将表限制为仅显示基于图表D或图表S的项目。下面是我初始化表的方式Datatables 根据第一列筛选其他列,datatables,Datatables,我使用jquery数据表,并为数据表的初始化分配一个值数组。这张桌子基本上是这样的。 基于一个单选按钮,我想限制表中显示的项目和表中搜索的项目。 对于我的示例,它将基于图表列。我想将表限制为仅显示基于图表D或图表S的项目。下面是我初始化表的方式 if (!$.fn.DataTable.isDataTable( '#fundLookUptbl' ) ) { fundTable = $('#fundLookUptbl').DataTable( {
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之间切换,但仍然可以继续搜索其他列
fundTable.order( [0, 'asc'] );
请尝试或查看此特定页面以供参考:
基本上是按升序或降序排列的一对列索引。我相信该列将解决您的问题
table.column(0).search('Bruno').draw()
因此,当单选按钮选择更改时,您可以只过滤列
以下是一个示例我不确定是否理解您想要做什么,但这里有一些选项: 一种方法是选择默认值示例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;
}
},
祝你好运谢谢这也行。我感谢你的答复。