You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tabulator获取筛选后选中行到数组无数据,求技术支援

问题排查与修复方案

代码中的核心问题:

  • filter回调无返回值:filter方法需要回调返回布尔值来筛选数组,但你的回调仅执行判断和AJAX操作,未返回值,导致selectedRows始终为空。
  • 数据范围错误:jQuery.map遍历的是所有活跃行(rows),而非筛选出的选中行,会导致提交所有筛选后的数据,而非仅选中的行。
  • 逻辑位置错误:AJAX请求被放在filter的迭代回调中,会导致每选中一行就发送一次请求,而非收集完选中行后统一提交。
  • 字段拼写错误:原代码中FirtName少写了一个s,应为FirstName,会导致无法正确获取对应字段值。

修复后的代码:

document.getElementById("get-selected-rows").addEventListener("click", function() {
  // 获取筛选后的所有活跃行
  var activeRows = table.getRows("active");
  // 筛选出其中被选中的行
  var selectedRows = activeRows.filter(row => row.isSelected());
  
  // 将选中行转换为提交格式
  var postData = jQuery.map(selectedRows, function(row) {
    return {
      id: row.getData().id,
      FirstName: row.getData().FirstName,
      LastName: row.getData().LastName,
      Age: row.getData().Age,
      City: row.getData().City
    };
  });

  // 仅当有选中行时发送请求
  if (postData.length > 0) {
    jQuery.ajax({
      url: 'save_rows.php',
      type: 'POST',
      data: JSON.stringify(postData),
      contentType: 'application/json',
      success: function(response) {},
      error: function(error) {}
    });
  }
});

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:03:29