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



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

我在 fnRowCallback 函数中更改了这个变量,然后尝试在 aaSort 函数中使用它,但 aaSort 使用 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 是在创建数据表后创建行时调用的。

我建议使用:

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

最新更新