使用javascript或jQuery搜索php表
我在一个表中有一个包含mikrotikm(路由器)nat规则的大列表,现在我需要一个动态搜索过滤器来从名称搜索列表,如下所示: 我试过使用他们的代码,但不起作用 我使用其他代码,但不起作用 这是完整的代码:使用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
<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