Я пытаюсь поместить раскрывающийся фильтр в HTML-таблицу, используя JQuery.Вот код:
report.php
<table id ="myTable" class="table table-striped">
<thead>
<tr>
<th></th>
<th> First Name </th>
<th> Last Name </th>
<th> Phone </th>
<th> Email </th>
<th> Gender</th>
<th>Term
<select id="filterText" onchange='filterText()'>
<option disabled selected>Select</option>
<option value="all">All</option>
<option value="Fall2018">Fall2018</option>
<option value="Srping2019">Spring2019</option>
</select></th>
<th> Action </th>
</tr>
</thead>
<?php
if (count($report) === 0) {
echo "<tr>No Reports</tr>";
} else {
for ($i = 0; $i < count($report); $i++) {
echo
"<tr class='row'>
<td>{$report[$i]['FName']}</td>
<td>{$report[$i]['LName']}</td>
<td>{$report[$i]['HPhone']}</td>
<td>{$report[$i]['PEmail']}</td>
<td>{$report[$i]['Gender']}</td>
<td>{$report[$i]['Term']}</td>
<td><a class=btn href='read.php?id=".$report[$i]['RegId']."'>Read</a></td>
</tr>";
}
}
?>
</table>
main.js
function filterText()
{
var rex = new RegExp($('#filterText').val());
if(rex ==="/all/"){clearFilter();}else{
$('.row').show();
$('.row').filter(function() {
return rex.test($(this).text());
}).hide();
}
}
function clearFilter()
{
$('.filterText').val('');
$('.row').show();
}
Я добавляю раскрывающийся фильтр к столбцу терминов.Этот код дает противоположные результаты.Например, когда я нажимаю на опцию «Все» в раскрывающемся списке, в результатах отображается Spring2019.И когда я нажимаю на «Spring2019», он показывает все значения.И 'Fall2018' также показывает все значения Spring2019.
Можете ли вы проверить, что не так в коде?