日期:2014-05-16  浏览次数:20372 次

关于jquery datatable 中api的一些问题,希望高手尽力解答下
/* Custom row callback function - might want to manipule the row */
if ( typeof oSettings.fnRowCallback == "function" )
{
nRow = oSettings.fnRowCallback.call( oSettings.oInstance, nRow,
          oSettings.aoData[ oSettings.aiDisplay[j] ]._aData, iRowCount, j );
        if ( !nRow && !bRowError )
          {
              _fnLog( oSettings, 0, "A node was not returned by fnRowCallback" );
             bRowError = true;
          }
}
       anRows.push( nRow );
       iRowCount++;

这是在datatable的初始化的配置属性里面找到的,一个属性:fnRowCallback
关于这段代码不太理解,高手们能翻译一下吗?这里的function不知道配置的时候怎么写。
关键是里面的参数不知道怎么穿,传几个合适(5个吗)?找到一段代码只穿了3个参数。!nRow是什么情况?js刚开始练手,都不太熟悉。
找到的代码如下:
"fnRowCallback":function(nRow, aData,iDisplayIndex ){
     nRow.children[0].innerHTML="<input type='checkbox' value="+nRow.children[0].innerHTML+">";
return nRow;
},
烦请解释下,谢谢! 
------解决方案--------------------
!nRow的意思就是判断nRow是null,null则返回true,非null则返回false,参数个数的话javascript是不严格控制的,你少传了的后面的参数就是null,比如说这样
function a(aa,bb,cc){
console.log(aa);
console.log(bb);
console.log(cc);
}
a("参数1","参数2");

控制台打印:
参数1
参数2
undefined