如何修改Google Apps Script代码实现HTML表格全列搜索?
实现全列搜索的修改方案
原来的代码仅检查第二列(cells[1]),要实现全列搜索,需要遍历当前行的所有单元格,只要任意一个单元格包含搜索文本,就保留该行显示,否则隐藏。
修改后的代码如下:
function onInputChange(){ let inputText = document.getElementById("input-search").value.toString().toLowerCase(); let tableBody = document.getElementById("cursos"); let tableRows = tableBody.getElementsByTagName("tr"); for(let i = 0; i < tableRows.length; i++){ let row = tableRows[i]; let hasMatch = false; // 标记当前行是否有匹配内容 // 遍历当前行的所有单元格 for(let j = 0; j < row.cells.length; j++){ let cellText = row.cells[j].textContent.toString().toLowerCase(); if(cellText.indexOf(inputText) !== -1){ hasMatch = true; break; // 找到匹配就停止遍历当前行的单元格,提升效率 } } // 根据匹配结果设置行的可见性 row.style.visibility = hasMatch ? "" : "collapse"; } }
关键修改说明:
- 新增
hasMatch变量,用于追踪当前行是否存在匹配内容 - 嵌套循环遍历当前行的所有单元格(
row.cells),逐个检查文本是否包含搜索关键词 - 一旦找到匹配项,立即标记
hasMatch为true并终止单元格遍历,避免不必要的计算 - 最后根据
hasMatch的结果统一设置行的可见状态
内容的提问来源于stack exchange,提问作者LuisJose
相关产品推荐
相关产品推荐

