Datatables 根据第一列筛选其他列

Datatables 根据第一列筛选其他列,datatables,Datatables,我使用jquery数据表,并为数据表的初始化分配一个值数组。这张桌子基本上是这样的。 基于一个单选按钮,我想限制表中显示的项目和表中搜索的项目。 对于我的示例,它将基于图表列。我想将表限制为仅显示基于图表D或图表S的项目。下面是我初始化表的方式 if (!$.fn.DataTable.isDataTable( '#fundLookUptbl' ) ) { fundTable = $('#fundLookUptbl').DataTable( {

我使用jquery数据表,并为数据表的初始化分配一个值数组。这张桌子基本上是这样的。

基于一个单选按钮,我想限制表中显示的项目和表中搜索的项目。 对于我的示例,它将基于图表列。我想将表限制为仅显示基于图表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之间切换,但仍然可以继续搜索其他列

 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;
                    }
                },


祝你好运

谢谢这也行。我感谢你的答复。