2016-05-17 3 views
1

私は、livesearchテーブルにJSファイルを持っています。それは正常に動作し、あなたが検索するときにページ上に結果を表示します。テーブル問題でPHPとjQueryのライブ検索

Javascriptを:

function Search() 
{ 
var $rows = $('#table tr'); 
$('#search').keyup(function() { 

var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$', 
    reg = RegExp(val, 'i'), 
    text; 

$rows.show().filter(function() { 
    text = $(this).text().replace(/\s+/g, ' '); 
    return !reg.test(text); 
}).hide(); 
}); 
} 

HTMLは

<table class="table" id="table"> 
    <input type="text" id="search" placeholder="Type to search" onkeyup="Search();"> 
    <tr> 
     <th>Naam</th> 
     <th>Personeelsnummer</th> 
     <th>Geblokkeerd niveau</th> 
     <th>Wachtwoord</th> 
     <th>Verwijderen</th> 
     <th>(De)blokkeren</th> 
    </tr> 
    <?php 
    while ($row = mysqli_fetch_array($result)) {?> 
    <tr> 
    <td><?php echo $row['P_Naam'];?></td> 
    <td><?php echo $row['P_ID'];?></td> 
    <td><?php echo $row['P_Blocked'];?></td> 

コードは、テーブル内のいくつかのより多くのボタンが点灯し。

問題は、検索結果が返されたときに表のヘッダーが消えてしまうことです。私は問題が何であるか把握しようとしてきましたが、それを理解できないようです。あなたは

var $rows = $('#table tr'); 

を選択すると

答えて

0

それはまた、これらのヘッダを選択:

<tr> 
    <th>Naam</th> 
    <th>Personeelsnummer</th> 
    <th>Geblokkeerd niveau</th> 
    <th>Wachtwoord</th> 
    <th>Verwijderen</th> 
    <th>(De)blokkeren</th> 
</tr> 

をし、それらを削除します。

jQueryフィルタを変更して、最初の行をスキップしてみます。

+0

すばやく入力していただきありがとうございますが、どうすればいいのかわかりません。これらのヘッダーを除外する方法はありますか? – Xianchu

+0

これを試してみてください - $( '#table tr:not(:first)' –

+0

ありがとう!それは解決されました! – Xianchu