【问题标题】:How can I search an HTML table for only an exact match of my input in the search bar?如何在 HTML 表格中仅搜索与我在搜索栏中的输入完全匹配的内容?
【发布时间】:2016-05-20 01:26:35
【问题描述】:

我目前正在使用下面的代码为网站上的 HTML 表格创建单列搜索。目前,当我在搜索栏中输入内容时,代码会返回每一行,其中的内容包含我在其中任何位置搜索的内容。例如(我将其用于电影评级),当我在搜索栏中输入“G”时,我会返回所有评级为 G 的内容,以及所有评级为 PG 或 PG-13 的内容。有没有办法可以调整此代码以仅返回与我的搜索完全匹配的结果?换句话说,有没有办法改变事情,当我搜索“G”(或“g”)时,我只返回我的 G 级电影,而不是任何评级为 PG 或 PG-13 的电影?

谢谢!

当前代码:

<script type="text/javascript">

function searchRows(tblId) {
var tbl = document.getElementById(tblId);
var headRow = tbl.rows[0];
var arrayOfHTxt = new Array();
var arrayOfHtxtCellIndex = new Array();

for (var v = 0; v < headRow.cells.length; v++) {
 if (headRow.cells[v].getElementsByTagName('input')[0]) {
 var Htxtbox = headRow.cells[v].getElementsByTagName('input')[0];
  if (Htxtbox.value.replace(/^\s+|\s+$/g, '') != '') {
    arrayOfHTxt.push(Htxtbox.value.replace(/^\s+|\s+$/g, ''));
    arrayOfHtxtCellIndex.push(v);
  }
 }
}

for (var i = 1; i < tbl.rows.length; i++) {

    tbl.rows[i].style.display = 'table-row';

    for (var v = 0; v < arrayOfHTxt.length; v++) {

        var CurCell = tbl.rows[i].cells[arrayOfHtxtCellIndex[v]];

        var CurCont = CurCell.innerHTML.replace(/<[^>]+>/g, "");

        var reg = new RegExp(arrayOfHTxt[v] + ".*", "i");

        if (CurCont.match(reg) == null) {

            tbl.rows[i].style.display = 'none';

       }

    }

  }
}
</script>

【问题讨论】:

    标签: javascript html search html-table exact-match


    【解决方案1】:

    首先使用toUpperCase()

    那么如果你只想区分G, PG, PG-13, R, NC-17,你可以只使用===,你不需要

    【讨论】:

      猜你喜欢
      • 2016-10-15
      • 1970-01-01
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      相关资源
      最近更新 更多