ajax request in een ajax request
Ik heb een javascriptje geschreven (jquery $.get) waarmee de content van result.php met de get waarde van "naam" in een div met class="result" in de index.php wordt geschreven.
Nu vroeg ik mezelf dus af of het mogelijk is om in die result.php pagina de pagina te verversen en ook een andere waarden aam "naam" mee te geven waarna de nieuwe informatie vervolgens in die ene div met class="result" in index.php worden geschreven.
Alvast bedankt!
Ik volg niet precies wat je doet.
Ik heb een index.php met daarin een tabel en pagina nummers, de gegevens van die tabel wil ik dmv ajax weergeven (in de index staat dus geen tabel en geen pagina nummers maar alleen een div waarin de content van result.php komt), die gegevens worden dus in result.php "gemaakt" aan de hand van de get waarden die meegestuurd worden in de jquery request.
Omdat ik meerdere pagina's aan gegevens heb (er worden maar 20 resultaten per pagina weergeven) wil ik dus dat het in die result.php mogelijk is om van pagina te veranderen en dus dacht ik eraan om nog een get waarde mee te sturen genaamd "pagina" alleen moet die get waarde dus vanuit de result.php aangepast kunnen worden.
(De rest van de resultaten verbergen is trouwens geen optie)
Gewijzigd op 31/03/2011 19:50:55 door stefan Renne
Verdiep je eerst eens in JQuery, alvorens voor een poep en een zucht hier vragen over te gaan stellen die elders beantwoord zijn. (voorbeelden zat op jquery.com)
Als dat werkt, kan je vervolgens met jQuery die volgende- en vorige-linkjes overnemen (click-event-listener erop met e.preventDefault() om de normale werking van de link te blokkeren) en dan vanuit daar je ajax request te doen. Op het antwoord van die request voer je dan weer je functie uit die de volgende/vorige links overneemt en die DOM-nodes gebruik je om de huidige tabel te vervangen. Dat laatste hoeft niet eens als je .live gebruikt.
Heel simpel is het eigenlijk. Stel dat index.php een div met id result heeft die je wilt overnemen, en de volgende links hebben de class next, dan kan je iets maken a la: (niet getest)
Code (php)
1
2
3
4
5
2
3
4
5
$('#result a.next').live('click', function(e)
{
$('#result').load($(this) + ' #result');
e.preventDefault();
}
{
$('#result').load($(this) + ' #result');
e.preventDefault();
}
De code in index.php hoef je niet eens aan te passen.