使用javascript或jQuery搜索php表

使用javascript或jQuery搜索php表,php,jquery,search,filter,html-table,Php,Jquery,Search,Filter,Html Table,我在一个表中有一个包含mikrotikm(路由器)nat规则的大列表,现在我需要一个动态搜索过滤器来从名称搜索列表,如下所示: 我试过使用他们的代码,但不起作用 我使用其他代码,但不起作用 这是完整的代码: <html> <head> <script type='text/javascript' language='javascript' defer> $("#search").on("keyup paste", function() { var v

我在一个表中有一个包含mikrotikm(路由器)nat规则的大列表,现在我需要一个动态搜索过滤器来从名称搜索列表,如下所示:

我试过使用他们的代码,但不起作用

我使用其他代码,但不起作用

这是完整的代码:

<html>
<head>
<script type='text/javascript' language='javascript' defer>
$("#search").on("keyup paste", function() {
    var value = $(this).val().toUpperCase();
    var $rows = $("table tr");

    if(value === ''){
        $rows.show();
        return false;
    }

    $rows.each(function(index) {
        if (index !== 0) {

            $row = $(this);

            var column1 = $row.find("td:first a").html().toUpperCase();
            var column2 = $row.find("td").eq(1).text().toUpperCase();

            if ((column1.indexOf(value) > -1) || (column2.indexOf(value) > -1)) {
                $row.show();
            }
            else {
                $row.hide();
            }
        }
    });
});
</script>

<style type='text/css'> 
table tr td{
border:1px solid #000
}
</style>

</head>
<body>
    <label for="search">Search:</label> <input type="text" id="search" value=""/>


<?php
use PEAR2\Net\RouterOS;
// require_once 'pear2\src\PEAR2\Autoload.php';
require_once 'PEAR2_Net_RouterOS-1.0.0b4.phar';

//Conexion a Mikrotik
                            //IP MIKROTIK   //Usuario   //Password
$client = new RouterOS\Client('62.82.4.222', 'victor', 'victor');




//Reiniciar PPP

$remove=new RouterOs\Request("/ppp/active/remove");
$remove->setArgument('numbers', $itemID); 


// Tabla
echo "<table align='center' id='natlist'><form action='' method='POST'>";
echo "<thead><tr bgcolor='#D8D8D8'><th align=left size=3>Nombre</th><th align=left size=3>Servicio</th><th size=3>Tiempo Activo</th><th align=left size=3>Direccion</th><th align=left size=3>Reiniciar</th></tr></thead><tbody>";

//Actualizar pagina
//echo "<meta http-equiv='refresh' content='30'>";


$ppps = $client->sendSync(new RouterOS\Request('/ppp/active/print'))->getAllOfType(RouterOS\Response::TYPE_DATA);



$interfaceQuery = RouterOS\Query::where('name', $ppps->getArgument('name'));
while ($ppp = $ppps->next()) {
    $interfaceQuery->orWhere('name', $ppp('name'));
}

$activeInterfaces = $client->sendSync(new RouterOS\Request('/interface/pppoe-server/print', $interfaceQuery))->getAllOfType(RouterOS\Response::TYPE_DATA)->toArray();


foreach ($ppps as $ppp) {
  $id = $ppp('.id');
  $service = '';
  foreach ($activeInterfaces as $index => $pppInterface) {
    if ($pppInterface('name') === $ppp('name')) {
      $service = $pppInterface('service');
      break;
    }
 }
  echo "<tr>";
 echo "<td class='nombre'>". $ppp('name') ."</td>";
  echo "<td>" . $service . "</td>";
  echo "<td>" . $ppp('uptime'). "</td>";
  echo "<td>". $ppp('address') ."</td>"; 
  echo "<td><button type='submit' value='{$id}' name='act[remove]' >Reiniciar</td></tr>";
} 

echo  "</form></tbody></table>";

?>

</body>
</html>

$(“#搜索”)。在(“键控粘贴”,函数()上{
var value=$(this.val().toUpperCase();
变量$rows=$(“表tr”);
如果(值==''){
$rows.show();
返回false;
}
$rows.each(函数(索引){
如果(索引!==0){
$row=$(此项);
var column1=$row.find(“td:first a”).html().toUpperCase();
var column2=$row.find(“td”).eq(1.text().toUpperCase();
if((第1列indexOf(value)>-1)| |(第2列indexOf(value)>-1)){
$row.show();
}
否则{
$row.hide();
}
}
});
});
表tr td{
边框:1px实心#000
}
搜索:

使用Jquery。它简单且易于实现。

use-它正是为此而设计的。重新发明轮子没有意义。在查看您提供的示例时,行
$(“#personas tr td.nombre”).not(“:Contains(“+search+”)”)”)。parent().hide()是隐藏不包含要查找的文本的行的内容。您想使用此方法还是使用
$循环遍历每一行。each()
?我如何在我的表中添加数据表?我不知道如何使用javascript:S我只是复制并粘贴脚本并修改必要的脚本:SI将尝试,但我不知道如何添加它,我只是下载了它:S