2011-11-04 73 views
1

我正在使用jquery插件DataTables進行表格排序和操作。在服務器端調用中,我的數據返回一個整數(0或1)。如果我在php中進行簡單的調用,這很簡單,但我試圖根據從服務器返回的0或1來顯示「個人」或「家人」。jQuery Datatables是否可以改變服務器返回的客戶端查看值?

我敢肯定,這需要在實際的數據表功能來完成:

$('#example').datables(); 

是否有可能顯示在數據表的整數存在一個字符串?

注意:在php腳本本身的操作是而不是這是一個有效的解決方案,因爲該調用是從一開始就動態構建的。

回答

3

是的,它可以做得比較容易。我想這是在逐行的基礎上,所以最好的辦法是在初始化時使用fnRowCallback。像這樣的東西(只是一個樣本;我不知道你的全部細節):

"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 

    /* Create some variables mainly for legibility. */ 
    var family = aData['familyStatus']; // if using 3D with mDataProp 
    // var family = aData[2]; // if using 2D array with index 

    var famColumn = 2; // you could do this inline if you really want; I find a variable easier to keep track of 
    var visibleString = "individual"; 

    if (family) { // adjust accordingly if condition isn't properly tested this way (ie. if the truthiness of your "1" isn't panning out 
    visibleString = "family"; // default is individual, but if family is true then update the variable 
    } 
    $('td:eq('+famColumn+')', nRow).text(visibleString); 

    return nRow; 
} 
+0

優秀的迴應。謝謝你的幫助! – JM4

+0

沒問題;剛剛完成了一小段代碼的重構;不知道你是否看到更新版本。 –

0

看看http://datatables.net/usage/callbacks#fnPreDrawCallback這是您可以在繪製表格之前重寫的函數。你可以把你的功能放在這裏?

+0

感謝您的鏈接。我之前讀過這篇文章,但從文檔看來,構建者知道列ID是「#test」,但在構建數據表時,ID不是以這種方式定義的。我錯過了什麼嗎? – JM4

相關問題