Problem: funkcja niżej nie działa po wykonaniu Ajax'a
$(document).ready(function() { $('tr:contains("Oczekujące")').css( "background-color", "#E4F1F6" ); $('tr:contains("Rozpoczęte")').css( "background-color", "#82b74b" ); $('tr:contains("W trakcie")').css( "background-color", "#87bdd8" ); $('tr:contains("Zakończone")').css( "background-color", "#ffcc5c" ); $('td:contains("WYSOKI")').addClass("blink pWysoki"); $('td:contains("ŚREDNI")').addClass("pSredni"); $('td:contains("NISKI")').addClass("pNiski"); });
Ajax:
function showUser(str) { if (str == "") { return; } else { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("txtHint").innerHTML = this.responseText; } }; xmlhttp.open("GET","gettable.php?q="+str,true); xmlhttp.send(); } }
gettable.php :
if($q == 1) { $sql="SELECT * FROM zadania WHERE dokogo='".$_SESSION['valid_user']."' ORDER BY id DESC"; $result=mysqli_query($conn,$sql); }elseif($q == 2) { $sql="SELECT * FROM zadania WHERE dokogo='".$_SESSION['valid_user']."' AND status='OCZEKUJĄCE' ORDER BY id DESC"; $result=mysqli_query($conn,$sql); }elseif($q == 3) { $sql="SELECT * FROM zadania WHERE dokogo='".$_SESSION['valid_user']."' AND status='W trakcie' ORDER BY id DESC"; $result=mysqli_query($conn,$sql); }elseif($q == 4) { $sql="SELECT * FROM zadania WHERE dokogo='".$_SESSION['valid_user']."' AND status='Zakończone' ORDER BY id DESC"; $result=mysqli_query($conn,$sql); }else{ $sql="SELECT * FROM zadania WHERE dokogo='".$_SESSION['valid_user']."' ORDER BY id DESC"; $result=mysqli_query($conn,$sql); } printf ( " <p class=\"wiersz\" style=\"padding-top: 3px\">Kliknij na rekord by rozwinąć opis</p> <table class=\"table table-striped listaZad\"> <thead class=\"thead-dark\"> <tr> <th scope=\"col\">Nr</th> <th scope=\"col\">Od kogo</th> <th scope=\"col\">Kiedy</th> <th scope=\"col\">Temat</th> <th scope=\"col\">Priorytet</th> <th scope=\"col\">Status</th> </tr> </thead> <tbody>" ); $p = 0; $not_null=mysqli_num_rows($result); if($not_null > 0){ while($row = $result->fetch_array()) { $rows[] = $row; } foreach($rows as $row) { $p++; //W środku printf zawarty jest formularz który obsługiwany jest przez zadania_status.php do ustawiania statusu zadań. Formularz znajduję się pod częścią "rozwijalną". printf ("<tr data-toggle=\"collapse\" data-target=\"#colaps".$p."\" reference=\"".$p."\" style=\"cursor: pointer\"> <th scope=\"row\">".$p."</th> <td>".$row['user']."</td> <td>".$row['dodano']."</td> <td>".$row['tytul']."</td> <td>".$row['priorytet']."</td> <td class=\"colorState\">".$row['status']."</td> </tr> <tr> <td colspan=\"6\" class=\"hiddenRow\"> <div id=\"colaps".$p."\" class=\"collapse\"><p style=\"font-size:15px; font-family:Roboto; padding-top:10px; padding-left:10px\">".$row['opis']."</p> <p> <hr></hr> <form action=\"zadania_status.php\" method=\"post\"> <div class=\"form-group\"> <center> <input type=\"hidden\" name=\"id_zadania\" value=\"".$row['id']."\" /> <input name=\"status_zad\" type=\"submit\" class=\"btn btn-success btn-sm\" value=\"Rozpoczęte\"> <input name=\"status_zad\" type=\"submit\" class=\"btn btn-primary btn-sm\" value=\"W trakcie\"> <input name=\"status_zad\" type=\"submit\" class=\"btn btn-warning btn-sm\" value=\"Zakończone\"> <input name=\"status_zad\" type=\"submit\" class=\"btn btn-danger btn-sm\" value=\"Usuń\"> </center> </div> </form> </p> </div> </td> </tr>" ); } } </tbody> </table> <button class=\"btn btn-primary\" id=\"rozwin\">Wczytaj więcej</button> <button class=\"btn btn-primary\" id=\"zwin\">Zwiń wszystko</button> <p style=\"padding-top:40px\"></p> <hr></hr> <a href=\"zadania.php\"> <center><button type=\"button\" class=\"btn btn-success\">Kliknij by odświeżyć</button></center> </a> "); mysqli_free_result($result); mysqli_close($conn);
No i Ajax wywoływany jest na divie txtHint, to poczatek mojego pliku, skrypty są PO NIM.