2012-10-09 305 views
3

我試圖根據值更改行顏色,爲服務器端加載數據表,但它不起作用。我用這樣一個在我的JavaScript代碼:Datatables:根據單元更改行顏色

$('#table').dataTable({ 
    'bServerSide': true, 
    'bProcessing': true, 
    'sAjaxSource': 'datatables/my_ajax.php', 
    'iDisplayLength': 50, 
    "sPaginationType": "bootstrap", 
    "fnInitComplete": function(oSettings) { 
     for (var i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { 
      if (jQuery.inArray(oSettings.aoData[i]._aData[2], food_types) != -1) { 
       oSettings.aoData[i].nTr.className = "myClass"; 
      } 
     } 
    }, 

myClass的樣子:

.myClass{ 
    background-color: red; 
} 

.myClass td { 
    background-color: red; 
} 

所以,基本上將各行的第二<td>具有對食品的類型出現的值數組,該類應該更改爲myClass。這部分工作(我可以看到螢火蟲,班級已經改變),但我看不到變化(我沒有看到行轉向紅色背景)。我錯過了什麼?另外,這是一個好方法,或者更簡潔的方法是直接從ajax改變顏色?如果是這樣,怎麼樣?

+0

用這些關於上下文的信息(即頁面的其餘部分和CSS文件)。你有沒有住在某個地方? – Joost

+0

你需要使用jQuery而不是在生成表時只使用if語句來執行此操作的任何原因? –

+0

@RickCalder你知道datatables是什麼嗎? – luqita

回答

3

看起來你的DataTable的CSS包裝紙覆蓋你的風格..也許,之所以看不到的的backgroundColor變化..

看起來像您需要更改在其上應用它的類。在這些方面

table.display.myClass 
{ 

background-color: red !important 
} 

table.display.myClass td 
{ 

background-color: red !important 
} 

更多類似猜測包裝,因爲我有沒有關於由數據表插件正在應用的確切類的想法。

也許更多..

+0

怎麼這樣?你能否給我提供更多的細節,你說'改變它正在應用的課程'是什麼意思? – luqita

+0

查看編輯後 –

+0

優秀Sushanth!謝謝!當他們讓我(接近6分鐘)時我會接受你的回答。 – luqita