2014-09-04 32 views
-1

我已經開始使用新的DataTables API v1.10.2,並且想知道如何優化我的代碼的這一點。使用新的DataTable API更改行背景顏色

首先,我要隱藏列,我用這個代碼:

"aoColumnDefs": [ 
      { 
      "targets": [ 0 ], 
      "visible": false, 
      "searchable": false 
      }, 
      { 
      "targets": [ 4 ], 
      "visible": false 
      }, 

現在我用這個,這使得代碼更小,易於理解:

"columns": [ 
     { "data": "source", "visible": false }, 
     ........ 
     { "data": "host" } 

我會就像我可以使用fnRowCallback優化檢查列中值(1-5)的另一個代碼,並在使用新DataTables 1.10.2滿足條件時更改行顏色:

代碼:

"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
    if (aData.priority == "5") 
    { 
     $('td', nRow).css('background-color', 'Red'); 
     red++; 
    } 
    else if (aData.priority == "4") 
    { 
     $('td', nRow).css('background-color', 'Orange'); 
     orange++; 
    } 
    { 
    .......... 
    } 
} 
+0

我想我唯一最好的選擇是這樣的: 「rowCallback」:函數(行,數據){ \t \t \t \t \t如果(data.priority == 「5」){$( 'TD',行)的CSS( '背景色', '紅色');} \t \t \t \t \t else if(data.priority ==「4」){$('td',row).css('background-color','Orange');} – Chelseawillrecover 2014-09-04 14:02:48

回答

4

我想我唯一最好的選擇是這樣的:

"rowCallback": function (row, data) { 
    if (data.priority == "5"){ $('td', row).css('background-color', 'Red');} 
    else if (data.priority == "4"){ $('td', row).css('background-color', 'Orange');} 
}