【问题标题】:PHP & jQuery live search on table issuePHP & jQuery 实时搜索表问题
【发布时间】:2016-05-17 06:59:07
【问题描述】:

我有一个 JS 文件来实时搜索表。它工作正常,并在您搜索时在页面上显示结果。

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>

代码继续在表格中添加一些按钮。

问题是当它返回搜索时,表头消失了。我一直试图找出问题所在,但似乎无法弄清楚。

【问题讨论】:

    标签: javascript jquery html html-table livesearch


    【解决方案1】:

    当您选择时

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

    它也选择那些标题:

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

    并删除它们。

    尝试更改 jQuery 过滤器以跳过第一行。

    【讨论】:

    • 感谢您的快速输入,但我不知道该怎么做。有没有办法可以排除这些标题?
    • 试试看 - $('#table tr:not(:first)')
    • 我很高兴 :) 很高兴我能提供帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多