このコードを使用して検索をフィルタリングしています。.filter クラスを使用してフィルタリングしたい 2 つの列のみを取得しようとしていました。問題は、スクリプトが結果をフィルタリングするために、両方の列でテキストが一致する必要があることです。両方ではなくいずれかの列から結果を見つけるようにするにはどうすればよいですか?
$(document).ready(function() {
var $rows = $('#orders tbody .filter');
$('#filtersearch').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$rows.closest('tr').show().end().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).closest('tr').hide();
});
$('#filtersearch').keyup();
});
そして、データを含むテーブル
<table border="0" align="center" cellpadding="5" cellspacing="0" id="orders">
<thead>
<tr>
<th colspan="6">
<form name"searchfilter">
<input type="text" id="filtersearch" name="filtersearch" placeholder="Search by name or phone number" value="<?php echo $search; ?>">
</form>
</th>
</tr>
<tr>
<th width="15%">Date</th>
<th width="30%">Name</th>
<th width="30%">Phone</th>
<th width="15%">Location</th>
<th width="10%">Picked Up</th>
</tr>
</thead>
<tbody>
<?php
/*
VIEW.PHP
Displays all data from 'players' table
*/
// connect to the database
include('connect-db.php');
// get results from database
$result = mysql_query("SELECT * FROM orders")
or die(mysql_error());
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $result )) {
$src = '';
switch( $row['Location'] ) {
case '1':
$src = 'images/rear_icon.png';
break;
case '2':
$src = '2.jpg';
break;
default:
$src = 'default.jpg';
} // echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['date'] . '</td>';
echo '<td class="filter">' . $row['Name'] . '</td>';
echo '<td class="filter">' . $row['Phone'] . '</td>';
echo '<td><img src="'.$src.'"></td>';
echo '<td><a href="delete.php?id=' . $row['id'] . '"><img src="images/icons/checkmark.png"></a></td>';
echo "</tr>";
}
?>
</tbody>
</table>