gpt4 book ai didi

javascript - 数据表:fnRowCallback 内部的自定义函数

转载 作者:行者123 更新时间:2023-11-29 19:55:42 24 4
gpt4 key购买 nike

尝试在 fnRowCallback 中运行函数。jQuery 报告此错误:

too much recursion
/js/jquery.js
Line: 4

找不到这个永无止境的循环。alert(aData.toSource()); 显示了我正在尝试循环的数组。

    var clientId = 1234;
var reportData = $('#report-data').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "?go=report&do=process&action=get-report",
"fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push({ "name": "client_id", "value": clientId });
$.getJSON( sSource, aoData, function (json) {
fnCallback(json);
});
},
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
formatDates(nRow,aData);
},
});

function formatDates(nRow,aData) {
// alert(aData.toSource());
for(i=0; i!=aData.length; i++) {
if (aData[i].match(/^([0-9]{4}-[0-9]{2}-[0-9]{2})T([0-9]{2}:[0-9]{2}):[0-9]{2}\.[0-9]{3}$/gi)) {
reportData.fnUpdate('New Date Format', nRow['_DT_RowIndex'], i);
}
}
}

最佳答案

对于每一行,调用fnRowCallback,调用fomatDates,调用fnUpdate,重绘表格,调用 fnRowCallback...

编辑: 仔细考虑一下,强制重绘可能会再次导致递归问题。相反,将 fnRowCallback 中对 fnUpdate 的调用替换为:

$(nRow).find('td:eq(' + i + ')').text('New Date Format');

这会将第 i 个 TD 元素的文本更新为“新日期格式”,这就是您想要执行的操作。

关于javascript - 数据表:fnRowCallback 内部的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com