【发布时间】:2019-12-01 15:24:34
【问题描述】:
返回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函数的范围内,您是否尝试将其作为参数传递? -
我不得不承认,创建自定义函数并不是我的强项之一,我知道我需要掌握它。话虽如此,我不确定我将如何通过 nTd。
-
我已经发布了一个答案来解释如何执行参数传递。
标签: javascript jquery function datatable