2016-05-19 2 views
0

Ich habe eine PHP-Datei, die eine Tabelle analysiert und in ein div geladen:Toggle-Status beibehalten, nachdem eine PHP-Datei in einem Div geladen wurde?

<div id ="videprinter"> 
    <script type="text/javascript"> 
    $(function(){ 
     function load(){ 
     $("#videprinter").load("videprinter.php") 
     setTimeout(css, 3000);; 

    } 
    load(); 
    setInterval(load,60000); 
    }); 
    </script> 
</div> 

ich dann auf eine Schaltfläche, die angeklickt werden können alle Tabellenzeilen zu verbergen, die das Wort „PREM“ nicht enthalten.

<input type='button' id='hideshowleagues' value='Hide Foreign Leagues'> 

jQuery('#hideshowleagues').live('click', function(event) {   
     $("#videprinter table tbody tr:not(:contains('PREM'))").toggle(); 
    }); 

Ich habe den Satz ein Intervall von 60 Sekunden, um die PHP-Datei neu geladen werden jedoch jedes Mal, wenn die Umschaltfunktion Reloaded wird zurückgesetzt und die Zeilen, die keine „PREM“ werden wieder angezeigt. Wie würde ich den Umschaltstatus beibehalten, wenn die php-Datei neu geladen wird, ohne die gesamte Seite neu zu laden?

Vielen Dank.

+0

in ein verstecktes Element laden und umschalten? –

Antwort

0

Um Dereks Kommentar zu folgen, könnten Sie ein verborgenes Feld oder eine globale Variable auf der Seite verwenden, um den Status von toggle zu verfolgen. Ändern Sie dann den Code in videprinter.php, um einen URL-Parameter zu betrachten und die Ergebnisse basierend auf dem URL-Parameter zu filtern. var tracktoggle = "nein";

//on your click event code toggle the variable 
    jQuery('#hideshowleagues').live('click', function(event) {   
    $("#videprinter table tbody tr:not(:contains('PREM'))").toggle(); 
    if (tracktoggle == "no") { 
     tracktoggle = "yes"; 
    } 
    else { 
     tracktoggle = "no"; 
    } 
}); 

//in your load function add parameter to videprinter.php 
$(function(){ 
    function load(){ 
    if (tracktoggle == "yes") { 
     $("#videprinter").load("videprinter.php?loadprem=yes"); 
    } 
    else { 
     $("#videprinter").load("videprinter.php?loadprem=no"); 
    } 
    setTimeout(css, 3000);; 

} 
+0

Danke, das hat geholfen. Ich habe den von dir vorgeschlagenen Code verwendet und dann die php-Datei mit preg_match gefiltert, wenn die Variable auf yes gesetzt ist, danke nochmal! –

Verwandte Themen