javascript - JQuery数据表列数据更新速度太慢

标签 javascript jquery datatable execution-time

正在使用数据表生成表。 我在表格下方有文本框,当我向该文本框添加任何值时,该值应更新为第一行的特定列,然后该列的每一行应增加 1(新的更新值)。

我有这方面的代码,对我来说效果很好。但这需要太多时间。我的表中有 159 条记录,当我更新列时,大约需要 8-9 秒,这是非常长的持续时间。在执行完成之前我无法做任何事情。

JS代码:

updateNo: function(dataTableId, noColIndex, numToAdd) {
    var dataTable = $(dataTableId).dataTable();
    var numberOfRows = dataTable.api().rows().data().length;
    var index;
    for (index = 0; index < numberOfRows; index++) {
        var cell = dataTable.api().cell(index, noColIndex);
        var currentNo = cell.data();
        var newNo = parseInt(currentNo) + numToAdd;
        cell.data(newNo).draw();
    }
}

我尝试计算方法执行时间,发现方法的最后一行:cell.data(newNo).draw();需要更多时间来执行。

我不太精通 JavaScript 或 Jquery,所以我不知道原因。如果有人知道此问题的原因并解决此问题,请告诉我。

我想减少执行时间。

最佳答案

您不必重绘每个单元格,只需在执行代码后重绘整个表格一次即可

关于javascript - JQuery数据表列数据更新速度太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983859/

相关文章:

javascript - 如何减去两个时间字符串 (HH :MM) in javascript?

javascript - 尽管我正在检查未定义,但在控制台中收到未定义的错误通知

javascript - jquery validate 检查至少一个复选框

jquery - 我需要将表格行数据拖放到另一个表格,但无法实现

c# - 为什么 LINQ 无法将 DataRows 添加到 DataTable?

javascript - 单击复选框时禁用行隐藏/显示

r - 如何在一系列列中按 ID 仅计算新错误?

javascript - 关于如何使就地编辑可降解的任何想法?

php - 使用 PHP AJAX jQuery 表单在文本文件中查找完全匹配项

javascript - 我如何选择具有特定值的数组元素并执行函数javascript