Ciao Ragazzi, ho un problema con questo script che prende i valori da filtri di un form. Se viene settato un valore in questi filtri spariranno tutti gli altri lasciando quelli. In questo caso i valori sono righe di una tabella e con il seguente script rilevo se c'è stato l'inserimento di valori da filtrare e di conseguenza il far scrivere uno script javascript per nascondere gli altri:
Codice PHP:
<?php // FILTRI
if(isset($_POST['submit'])){
$count=0;
$filtri=array();
if(isset($_POST['filtro1'])){
$filtri[0]=$_POST['filtro1'];
$count+=1;
}
if(isset($_POST['filtro2'])){
$filtri[1]=$_POST['filtro2'];
$count+=1;
}
if(isset($_POST['filtro3'])){
$filtri[2]=$_POST['filtro3'];
$count+=1;
}
if(isset($_POST['filtro4'])){
$filtri[3]=$_POST['filtro4'];
$count+=1;
}
if(isset($_POST['filtro5'])){
$filtri[4]=$_POST['filtro5'];
$count+=1;
}
if($count>0){
echo "$(\"#tabella table tr:nth-child(n+3)\").not(\"";
for($f=0;$f<5;$f++){
if(isset($filtri[$f])){
if($filtri[$f]>0 && $filtri[$f]<91){
echo "#tabella table tr:nth-child(".($filtri[$f]+2).")";
if($f>$count-1){
echo ",";
}
}
}
}
echo "\").addClass(\"nascondi\");";
}else
exit;
}
?>
Tutto questo è inserito in uno script javascript che si carica al caricamento del documento, quindi con $(document).ready()...
Praticamente al momento dell'invio del form sia se non inserisco valori da filtrare sia che li inserisco mi scompare tutti i valori, come se non prendesse il count: quindi mi stampa i valori echo dopo l'if del del count, visto che il for non lo prende in considerazione perché non ci sono valori da filtrare. Il risultato è questo
codice:
$("#tabella table tr:nth-child(n+3)").not("").addClass("nascondi");