2016-05-20 1 views
0

В настоящее время я использую приведенный ниже код, чтобы создать поиск по одной колонке таблицы HTML на веб-сайте. На данный момент, когда я ввожу что-то в строку поиска, код возвращает каждую строку, содержащую контент, содержащий предмет, который я искал где-нибудь в нем. Например (я использую это для рейтингов фильмов), когда я набираю «G» в строке поиска, я возвращаю все, что было оценено G, но также и все рейтинги PG или PG-13. Есть ли способ, которым я могу адаптировать этот код, чтобы возвращать только результаты, которые являются точными совпадениями для моего поиска? Другими словами, есть ли способ изменить ситуацию, так что, когда я ищу «G» (или «g»), я только возвращаю свои фильмы с рейтингом G, а не что-то, что оценило PG или PG-13?Как я могу выполнить поиск в таблице HTML только для точного соответствия моего ввода в строке поиска?

Спасибо!

Текущий код:

<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> 

ответ

0

во-первых, использовать toUpperCase()

, то вы можете просто использовать ===, если вы хотите, чтобы отличить G, PG, PG-13, R, NC-17, вы не

Смежные вопросы