更改数据表单元格后台功能

约翰·比斯利

返回a的数据后datatable,我希望能够使用称为的函数基于单元格数据更改单元格背景色changeCell()

function changeCell(day)
{
  if(day == "SPAIN")
  {
    return $(nTd).css({'background-color': '#33CC33'});
  }
  if(day == "NEW YORK")
  {
    return $(nTd).css({'background-color': '#AFD645'}); 
  }
  // and so on
}

这是数据表(尽可能简化):

$.ajax({
  url: 'process/getData.php',
  type: 'POST',
  data: data,
  dataType: 'html',
  success: function(data, textStatus, jqXHR){
    var jsonObject = JSON.parse(data); 
    var table = $('#example1').DataTable({  
      "data": jsonObject,
      "columns": [ 
        {
          "data": "DAY_MON",
          "fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
          {
            changeCell(oData.DAY_MON); // function call here
          }
        }
      ]
    });
  },
  error: {
    // bunch of error stuff
  }
});

但是,当我调用该函数时,出现以下错误:

Uncaught ReferenceError: nTd is not defined

我假设错误是因为函数无法识别nTd,但是nTd正是我需要返回到的原因datatable

如何使此功能起作用?

加森·卢海奇

由于nTd不在changeCell函数的范围内,因此您必须像其他函数一样将其作为参数传递给它:

"fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
    changeCell(nTd, oData.DAY_MON);
}

然后,您可以将函数的定义更改为:

function changeCell(nTd, day) {
    // ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章