contentim@yandex.ru (для рекламодателей)
Home > Статьи > Фронтенд > Javascript живой поиск/фильтр по таблице

Javascript живой поиск/фильтр по таблице

  • автор статьи
  • Опубликовано: 24.07.2019 10:45
  • Обновлено: 24.07.2019 10:37

DEMO



Фамилия Телефон
Иванов 511246
Петров 511751
Сидоров 511951
Медведев 512456
Николаев 512781

HTML


<input class="form-control" type="text" placeholder="Фамилия или телефон" id="search-text" onkeyup="tableSearch()">
<table class="table table-striped" id="info-table">
    <thead>
        <tr>
            <th>Фамилия</th>
            <th>Телефон</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>   

JS


function tableSearch() {
    var phrase = document.getElementById('search-text');
    var table = document.getElementById('info-table');
    var regPhrase = new RegExp(phrase.value, 'i');
    var flag = false;
    for (var i = 1; i < table.rows.length; i++) {
        flag = false;
        for (var j = table.rows[i].cells.length - 1; j >= 0; j--) {
            flag = regPhrase.test(table.rows[i].cells[j].innerHTML);
            if (flag) break;
        }
        if (flag) {
            table.rows[i].style.display = "";
        } else {
            table.rows[i].style.display = "none";
        }

    }
}