如何通过行ID获取HTML表格指定行数据并转换为JSON数组
提取指定行ID的表格输入框数据为JSON数组
这里是修改后的函数,专门针对指定行ID来提取数据,输出完全符合你要求的JSON数组:
function scanSingleRow(rowId) { // 定位到指定ID的目标行 const targetRow = document.getElementById(rowId); if (!targetRow) { console.error(`找不到ID为${rowId}的行`); return []; } // 沿用原逻辑处理该行的输入框:剔除序号列,提取键值对 const rowData = Object.fromEntries( [...targetRow.querySelectorAll("input")].slice(1).map(inp => [ inp.id.replace(/.*inboundedit/, "").replace(/\d+$/, ""), inp.value ]) ); // 包装成数组格式返回,同时更新页面元素 const res = [rowData]; document.getElementById("some").innerHTML = JSON.stringify(res); return res; }
关键改动说明:
- 新增
rowId参数,支持传入目标行的ID(比如rowtwo) - 直接通过ID定位目标行,不再遍历整个表格的所有行,效率更高
- 增加了行不存在时的错误提示,避免后续代码报错
- 保持了原有的输入框键值对提取逻辑,确保输出结构和之前一致,同时把单行数据包装成数组格式
使用示例:
如果要提取rowtwo行的数据,直接调用:
scanSingleRow("rowtwo");
此时页面上some元素会输出:
[{"itemname":"Everest - Kasur Methi","oldstock":"0","newstock":"10","totalstock":"10","qty":""}]
内容的提问来源于stack exchange,提问作者A. Chithrai
相关产品推荐
相关产品推荐

