2015-05-14 40 views
1

我搜索了很多,我非常确定它可以很容易地完成,但我找不到办法做到这一点。所以我使用jQuery的DataTables,我试图生成一个类,并根据我收到的值做一些JavaScript操作。例如,当单位为负数时,将红色背景设置为简单等等。我已经为此创建了我的CSS,现在我正在通过DataTables的ajax参数加载JSON文件。下面是我的javascript:根据数据ajax datatables放一个类

 table = $('#activitiesTable').DataTable({ 
      "ajax": "data.txt", 
      "columns": [ 
       { "data": "id" }, 
       { "data": "description" }, 
       { "data": "type_of_expenditure" }, 
       { "data": "real_cost" } 
      ] 
     }); 

我知道,在列的参数,你可以之后由JSON调用“类名”设置一个类,但我不知道如何通过比较产生的一类变量。例如,我想这样做:

 "columns": [ 
      { 
       "data" : "id", 
       "className": (data.id < 0 ? "negative" : "positive")) 
      } 
     ] 

不知道这是否可以这样做?或者,如果我要检查jQuery的每次Ajax调用启动,但我觉得LT可以很容易地初始化,就在那里......

回答

0

我发现,你可以用这种方式:

    { 
        "data": "forcast_profit_loss", 
        "createdCell": function (td, cellData, rowData, row, col) { 
         if (cellData < 0) { 
         $(td).addClass('number number-negative'); 
         $(td).text(cellData.substr(1)); 
         } 
         else{ 
         $(td).addClass('number number-positive'); 
         } 
        } 
       } 

你可以在那里找到关于它的参考:https://datatables.net/reference/option/columns.createdCell