在数据表函数之间传递变量

时间:2014-02-12 00:14:06

标签: jquery jquery-datatables

我在页面顶部设置了一个全局变量。     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']]

1 个答案:

答案 0 :(得分:0)

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

我建议使用:

"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'] ] );
        };
    }