Jquery 在datatable函数之间传递变量
我在页面顶部设置了一个全局变量。 P_Col='0' 我在fnRowCallback函数中更改了这个变量,然后尝试在aaSorting函数中使用它,但是aaSorting使用0,它从未从回调函数中获取更新的变量值。有人能帮我吗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
"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,索引会改变,格式也会混乱。