点击表格行时如何通过data-index属性获取该行<td>单元格的值
解决方案
你的原有代码会采集全量行数据,是因为你监听了整个表格的点击事件,触发后遍历了表格下所有<tr>节点,导致每次点击都会全量拉取所有行内容。
由于你使用的Bootstrap Table会动态生成行,推荐使用jQuery事件委托机制绑定行点击事件,既可以适配动态生成的行,也能精准获取当前点击行的内容:
let data = [] // 事件委托绑定tr点击,适配动态生成的行,可加tbody前缀避免触发表头点击:"tbody tr" $("#table").on("click", "tr", function() { const currentRow = [] // 仅遍历当前点击行的td节点 $(this).find("td").each(function() { currentRow.push($(this).text().trim()) }) // 过滤无数据的空行(比如表头行) if (currentRow.length) { // 需累加历史点击行数据用push data.push(currentRow) // 每次仅保留当前点击行数据替换为下面的写法 // data = [currentRow] } console.log(data) })
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

