包含 html 内容的数据表

datatable with html content

我正在使用 jquery datatablejson 格式的数据输入。

$('#newItemBasketTab').dataTable({
  "aaData": result.itembasketdata,
  "aoColumns": 
  [
     {"mDataProp": "nic5dcodename"},
     {"mDataProp": "asiccprodcodename"},
     {"mDataProp": "unit_name"},
     {"mDataProp": "prod_quantity"},
     {"mDataProp": "prod_value"}
  ]
});

现在我想在 datatable 的第一列放置一个复选框,并且基于 json 数据中的 ID 字段,checkbox 需要是 checkedunchecked。是否可以将 html 内容添加到 datatable?

你的代码看起来像,

$('#newItemBasketTab').dataTable({
  "aaData": result.itembasketdata,
  "aoColumns": 
  [
     {"mDataProp": "Selection", 
      "fnRender":function(obj, type){
                   if(obj.aData['ID'])
                        return "<input type='checkbox' checked='checked'>"
                   else
                        return "<input type='checkbox'>"
                 }
     }
     {"mDataProp": "nic5dcodename"},
     {"mDataProp": "asiccprodcodename"},
     {"mDataProp": "unit_name"},
     {"mDataProp": "prod_quantity"},
     {"mDataProp": "prod_value"}
  ]
});

您可以在 fnRender 函数中添加要显示的任何 html 代码

使用mrender属性-

$('#newItemBasketTab').dataTable({
  "aaData": result.itembasketdata,
  "aoColumnDefs": [
    {
      "aTargets": [ 0 ],
      "mData": "ID",
      "mRender": function ( data, type, full ) {
        var checked = "checked";
        if(data) { checked = "checked"; }
        return "<input type='checkbox' checked='" + checked + "'>";
      }
    },
    {"mData": "nic5dcodename"},
    {"mData": "asiccprodcodename"},
    {"mData": "unit_name"},
    {"mData": "prod_quantity"},
    {"mData": "prod_value"}
  ]
});

DOCS