如何正确构建DataTables所需的jQuery数组?求技术协助
DataTables仅显示一行数据的数组填充问题修正
错误原因分析
你的代码存在两个关键问题:
- DataTables数据格式错误:你将
tblData包裹在额外的数组[tblData]中,导致传入的是一个三维数组,而DataTables要求data参数为二维数组(每个子数组对应表格的一行)。 - 冗余与不规范变量:循环内的
var test = [];完全无用;object未用let/const声明,会成为全局变量,存在隐患。
修正后的代码
// 确保在循环外初始化tblData数组 let tblData = []; for (let i = 0; i < results.length; i++) { const object = results[i]; console.log("className " + object.attributes.block_hash); // 替换为你的实际业务字段,这里用示例值演示 tblData.push(["Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800"]); } $(".javascript-sourced").DataTable({ data: tblData, // 直接传入二维数组,无需额外包裹 columns: [{ title: "姓名" }, { title: "职位" }, { title: "办公地点" }, { title: "分机号" }, { title: "入职日期" }, { title: "薪资" }] })
对比官方示例说明
官方示例中data参数直接传入二维数组(每行对应一个子数组),而你的错误操作让DataTables把整个tblData数组识别为单一行数据,因此仅显示一行。修正后data参数格式与官方示例一致,即可正常渲染多行数据。
内容的提问来源于stack exchange,提问作者Schulz Martin
相关产品推荐
相关产品推荐

