[英]How can I search an HTML table for only an exact match of my input in the search bar?
我目前正在使用以下代碼在網站上為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>
首先使用toUpperCase()
如果您只想區分G, PG, PG-13, R, NC-17
,則可以使用===
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.