在jQuery中检索DataTable行的单个单元格数据

时间:2015-10-08 16:42:13

标签: javascript jquery datatables

我需要根据同一行的上一列中存在的值禁用或启用该行的最后一列。我们使用Datatables来创建表。

在使用mRender进行比较的同时渲染数据时,我无法获取行单元格中的值。任何人都可以帮忙获取mRender中的行的值吗?

我尝试使用iDataRow以及createdRowfnRowCallback,以便在创建表格后禁用最后一列。

我不知道为什么createdRow无效aoColumns

请在下面找到我的代码段:

"aoColumns": [{
    "mData": "productID",
    "bSearchable": true,
    "bSortable": true
}, {
    "mData": "barcode",
    "bSearchable": true,
    "bSortable": true
}, {
    "mData": "fulfillmentChannel",
    "bSearchable": true,
    "bSortable": true
}, {
    "mData": "dateAvailable",
    "bSearchable": true,
    "bSortable": true
}, {
    "mData": "stockStatus",
    "bSearchable": true,
    "bSortable": true
}, {
    "mData": "stockAllocation",
    "mRender": function (data, type, full, iDataRow) {
        console.log(iDataRow); 
        <c:if test="${User.permission eq 'All'}">
            return '<input type="text" class="form-control" style="width:100%" id="stockAllocation" validationDescription="<spring:message code="validation.mustBeDigit"></spring:message>" validationRules="^[0-9]+$" name="stockAllocation" value="' + data + '"></input>'; 
        </c:if>
        <c:if test="${User.permission eq 'ReadOnly'}">
            return data;
        </c:if >
    },
    "bSearchable": true,
    "bSortable": true
}],

我希望将fullfillmentchannellstockAllocation的值写入mRender写入条件并禁用stockAllocaton字段。

1 个答案:

答案 0 :(得分:1)

  

<强>解

您可以使用full变量来访问行的数据,例如full['fulfillmentChannel']full['stockAllocation']

然后你可以写mRender函数:

"mRender": function (data, type, full, iDataRow) {
   if(full['fulfillmentChannel'] === 'A' && full['stockAllocation'] === 'B'){
      data = 'Disabled';
   } else {
      data = 'Not disabled';
   }

   return data;
}
  

<强>样本

有关使用DataTables 1.10的类似示例的演示,请参阅this jsFiddle