JSFiddle - React, Tailwind, and code Playground
by Anatoly Kulikov
HTML
<main>
<input type="search" id="filter">
<div class="searchable">
<div class="RatingTable">
<h3>Юноши / Байдарка / 2003-2004</h3>
<table width="483">
<tbody>
<tr>
<td width="293">ФИО Спортстмена</td>
<td width="190">Количество очков</td>
</tr>
<tr>
<td>Сергеев Кирилл</td>
<td>25</td>
</tr>
<tr>
<td>Астахов Артём</td>
<td>23</td>
</tr>
<tr>
<td>Хужий Захар</td>
<td>21</td>
</tr>
<tr>
<td>Агеев Богдан</td>
<td>19</td>
</tr>
<tr>
<td>Касьянов Кирилл</td>
<td>14</td>
</tr>
<tr>
<td>Гришанов Михаил</td>
<td>14</td>
</tr>
<tr>
<td>Мацко Игорь</td>
<td>14</td>
</tr>
<tr>
<td>Агеев Арсений</td>
<td>14</td>
</tr>
<tr>
<td>Бродягин Артём</td>
<td>9</td>
</tr>
<tr>
<td>Соколов Владимир</td>
<td>9</td>
</tr>
<tr>
<td>Чирков Валерий</td>
<td>9</td>
</tr>
<tr>
<td>Авдеев Дмитрий</td>
<td>9</td>
</tr>
<tr>
<td>Иванов Кирилл</td>
<td>9</td>
</tr>
<tr>
<td>Кочнев Максим</td>
<td>9</td>
</tr>
<tr>
<td>Юрченко Даниил</td>
<td>9</td>
</tr>
<tr>
<td>Малыгин Игорь</td>
<td>9</td>
</tr>
<tr>
<td>Пономарев Андрей</td>
<td>5</td>
</tr>
<tr>
<td>Дмитриев Даниил</td>
<td>5</td>
</tr>
<tr>
<td>Курашов Дмитрий</td>
...
SCSS
.RatingTable {
display: block;
width: 100%;
margin-bottom: 21px;
padding: 10px;
h3 {
display: block;
width: 100%;
margin-bottom: 14px;
font-size: 30px;
font-weight: 700;
color: $Blue600;
}
table {
width: 100%;
font-size: 20px;
border-radius: 2px;
background: #fcfcfc;
tr {
cursor: default;
transition: all linear 0.2s;
}
tr:first-of-type {
font-weight: 700;
td {
border-bottom: $Grey200 solid 1px;
}
}
td {
width: auto;
padding: 10px;
}
tr:hover {
background: $BlueGrey50;
}
tr:first-of-type:hover {
background: #fcfcfc;
}
}
}
JavaScript
$('#filter').keyup(function() {
var rex = new RegExp('.*(' + $(this).val() + ')+.*', 'i');
$('.searchable table tbody tr').hide();
$('.searchable table tbody tr').filter(function() {
return rex.test($(this).text().replace(/[^\wа-яё]+/gi, ""));
}).show();
})