特定列的数据表功能

时间:2014-12-28 09:59:47

标签: jquery ajax json datatables

我正在使用DataTables使用JSON请求的结果填充表。

$.ajax({
  type: "POST",
  contentType: "application/json;",
  ...,
  success: function(data){

    var dataTblValues=$('#someTable').dataTable({
      "aaData": data.someList,
      "aoColumns": [
        {
          // Date
          "mData": "date"
        },
        {
          // Severity (I want some HTML output here depending on the severity)
          "mData": "severity"
        },
        {
          // Type
          "mData": "type"
        },
      ],
      "columnDefs" :[
        {
          "targets": 3,
          "data": null,
          "defaultContent": '<a href="#">Some link</a>'
        }
      ]
    });
  },
  error: function(data){
    console.log(data);
  },
});

我想做什么

第二列(“Severity”)的值是数字,例如1或2.而不是直接在列中填充值(1,2等),我想输出如下内容:

<div class="severity-one">High</div>

...或

<div class="severity-two">Medium</div>

......取决于严重程度。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以解析通过AJAX收到的数据,并将{1}}或<div class="severity-one">High</div>中的1和2进行转换。

转换后,您只需通过常规方式将其附加到表格中:

<div class="severity-two">Medium</div>

答案 1 :(得分:0)

第2栏“严重性”

"columnDefs" : [
                 {
                   "targets" : 1, // 1 because column count in dt starts from 0.
                   "render" : function(data, type, row) { 
                                      if(data==1) 
                                      { 
                                        return "<div class='severity-one'>High</div>"
                                      }

                                     if(data==2)
                                     {
                                       return "<div class='severity-two'>Medium</div>"
                                     }
                                                      }
                 }
              ]