Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在datatable函数之间传递变量_Jquery_Jquery Datatables - Fatal编程技术网

Jquery 在datatable函数之间传递变量

Jquery 在datatable函数之间传递变量,jquery,jquery-datatables,Jquery,Jquery Datatables,我在页面顶部设置了一个全局变量。 P_Col='0' 我在fnRowCallback函数中更改了这个变量,然后尝试在aaSorting函数中使用它,但是aaSorting使用0,它从未从回调函数中获取更新的变量值。有人能帮我吗 "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) { var oSettings = oTable.fnSettings(); $.e

我在页面顶部设置了一个全局变量。 P_Col='0'

我在fnRowCallback函数中更改了这个变量,然后尝试在aaSorting函数中使用它,但是aaSorting使用0,它从未从回调函数中获取更新的变量值。有人能帮我吗

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
        var oSettings = oTable.fnSettings();  

        $.each(oSettings.aoColumns, function(i,value){ 
            if (value.sTitle == "Priority"){
              P_Col = i;
            };

            $.each(aData, function(ii,value2){
              if (value.sTitle == "Priority" && aData[i] != ""){
                  $('td:eq(' + i + ')', nRow).css('background-color', '#F6CED8');
                }   
            }); 
        });
    }  ,
    "aaSorting": [[P_Col, 'desc'], [12, 'asc']]

在创建数据表期间调用aaSorting。fnRowCallback在创建datatable后创建行时调用

我建议使用:

"fnDrawCallback": function( oSettings ) {
    var oTable= this;
    //Then Call sort based on your priority
    $.each(oSettings.aoColumns, function(i,value){ 
        if (value.sTitle == "Priority"){
            //P_Col = i;
            oTable.fnSort( [ [i,'asc'] ] );
        };
    }

不幸的是,我试过了,但没有成功。看起来您不能在fnDrawCallback中使用fnSort。无法加载该表。在初始化数据表之前,是否有一种方法可供选择?也可以在初始化后调用fnSort()。如果您发布更完整的代码,我可能会提供其他建议。P_Col在文档准备就绪之后,以及在表初始化之前设置为“0”。如果我在初始化后调用fnSort(),它将使用我先前设置的值“0”。fnRowCallback由于某些原因不会更新变量中的值。我这样做是为了能够根据列名而不是索引格式化数据和排序。如果我使用ColReorder,索引会改变,格式也会混乱。