2017-09-06 22 views
1

我有一個使用AJAX的jQuery數據表。我想在一列中同時存在兩個字段,並使用兩個字段的if語句。Jquery DataTables使用IF語句的一列中的兩個字段

我可以做兩個字段一起:

{ 
    "data" : function (data, type, dataToSet) {return data.primary + "<br/>" + data.proctor; 
    }}, 

我增加了一些造型基於關閉的if語句:

{ 
     "data" : "primary", 
     "render" : function(primary) { 
      if (!primary) { 
       return '<i class="fa fa-ban"></i> primary'; 
      } else { 
       return '<i style="color: green" class="fa fa-check"></i> primary'; 
        } 
       } 
      }, 
    { 
     "data": "proctor", 
     "render": function (proctor) { 
      if (!primary) { 
       return '<i class="fa fa-ban"></i> proctor'; 
      } else { 
       return '<i style="color: green" class="fa fa-check"></i> proctor'; 
        } 
       } 
      }, 

如何將我的兩個字段組合成一列,仍然有if/else語句? BTW

columns: [ 
    ... 
    { data: null, 
    render: function(data, type, full) { 
     var ret = ''; 
     if (!full.primary) { 
     ret += '<i class="fa fa-ban"></i> primary'; 
     } else { 
     ret += '<i style="color: green" class="fa fa-check"></i> primary'; 
     } 
     if (!full.proctor) { 
     ret += '<i class="fa fa-ban"></i> proctor'; 
     } else { 
     ret += '<i style="color: green" class="fa fa-check"></i> proctor'; 
     } 
     return ret; 
    } 
    } 
] 

回答

2

你可以通過自己的render方法添加null柱結合這兩個領域我認爲,在這種情況下ternarys會比if..else更好。至少更可讀:

var ret = !full.primary 
    ? '<i class="fa fa-ban"></i> primary' 
    : '<i style="color: green" class="fa fa-check"></i> primary'; 

ret += !full.proctor 
    ? '<i class="fa fa-ban"></i> proctor' 
    : '<i style="color: green" class="fa fa-check"></i> proctor'; 

return ret; 
+0

感謝您的幫助。我同意ternarys更具可讀性。感謝您提供這兩個例子。 – Jay