返回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] 删除。
我来说两句