【问题标题】:Unable to update through ajax in pagination using DataTable无法在使用 DataTable 的分页中通过 ajax 进行更新
【发布时间】:2019-03-01 19:04:41
【问题描述】:

我正在使用 Datatable 插件在我的 HTML 表格上使用分页。我有一个复选框来选择不同页面中的不同行。每一行都有一个唯一的 id。但是当我需要在 ajax 调用后更新行单元格时,如果我目前不在该行的页面上,JS 将无法通过 ID 识别元素。当我这样做时,它基本上返回 null:-

document.getElementById('xyz').

当前页面行会更新,但其他页面上的行不会更新。请帮我解决这个问题。

【问题讨论】:

    标签: javascript jquery ajax datatable pagination


    【解决方案1】:

    DataTables 行选择器针对 ID 进行了优化,因为希望通过唯一信息选择行是很自然的。这与 jQuery 选择器不同,因为 DataTables 可以优化此选择器类型以便不涉及 DOM - 还允许 id 行选择器对尚未创建其 DOM 节点的行进行操作(当使用 deferRender 以提高速度时)。

    对于动态来源的数据,分配给行的 id 是使用 rowId 选项的标识符。用作 id 的数据可以是任何值,但在表中必须是唯一的。

    要使用 id 选择器,只需在要选择的行的 id 值前面加上一个数字符号:#。后面的值作为 id。与 jQuery 不同,此值不需要转义 - 尽管这意味着 id 选择器必须单独使用(例如,也不能使用类名),但它确实更容易用于复杂数据。

    按 id 选择一行:

    var table = $('#example').DataTable();
    var row = table.row('#row-42');
    

    按 id 选择多行:

    var table = $('#example').DataTable();
    var rows = table.rows( [ '#row-42', '#row-51' ] );
    

    来源:https://datatables.net/reference/type/row-selector

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-21
      • 2013-07-15
      • 1970-01-01
      • 2021-01-23
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多