<div>
<div><a href="" class="testcat" id="1">Show</a></div> --> middels deze link wordt er inhoud geladen in de volgende DIV (id=producten). Dit wordt gedaan met behulp van de functie dat in function.js is (zie hieronder).
<div id="producten"></div> -->Hier worden de eerste gegevens geladen zonder dat de pagina vernieuwd wordt. Tot hier gaat alles zoals ik wil. In testpage.php worden binnen while loop links aangemaakt. Wat ik nu wil is, als ik op een van de links klik moeten andere gegevens middels testpage2.php op zelfde wijze als bij vorige DIV geladen worden zonder dat de pagina vernieuwd wordt en dat de geladen gegevens in de eerste DIV getoond blijven worden. Deze gegevens moeten geladen worden in de DIV (id=information).
<div id="information"></div>
</div>
--> Ik heb van alles geprobeerd maar het lukt mij niet, de gegevens worden niet geladen.
Inhoud van testpage.php en testpage2.php is PDO code waarmee gegevens uit de database worden geladen die door een WHILE loop gaan en vervolgens een tabel wordt gegenereerd en in DIV wordt geladen. Verder niets bijzonders.
wat er over blijft is dan om te zien hoe die links eruit zien die in div2 terecht komen. Kan je HTML plaatsen die dynamisch in die divs terecht komt (dus uit je Ajax call)?
Je click event wordt getriggered door links met een class "testcat"
$(".testcat").click(function() {
});
De link die je aanmaakt in de php pagina heeft die class niet. Die link zal dus nooit dat event starten. Verder heeft die link ook geen id, dus zelfs als het event wordt getriggered dan zal het mislopen omdat er geen id kan worden uitgelezen.
Nee, dat werkt dus niet omdat click niet automatisch gebonden wordt bij dynamische elementen, dat hadden we 10 posts geleden al bedacht. Hier moet je dus on() gebruiken....
Wel goed lezen, begrijpen en secuur werken, anders gaat het je nooit lukken.
Deze functie gaat natuurlijk nooit werken met een van de bovenstaande twee links want beide links bevatten NIET de class waarop die functie getriggerd wordt.
Dus OF je geeft dezelfde class mee aan die nieuwe links, OF je maakt een nieuwe functie die wel werkt op die link. Bijvoorbeeld:
Hier begint mijn vraag. Als ik op bovenstaande link klik moet middels testpage2.php (deze is vergelijkbaar als testpage.php) gegevens uit database gelezen worden en in DIV 3 (zie index.php) getoond worden. Om dit werkend te krijgen had ik dus volgende functie aangemaakt in functions.js.
Nu heb je dus 2 functies in function.js alleen click event en de ID zijn anders. Bovenstaande functie geeft geen resultaat omdat in DIV 2 gegevens dynamisch geladen worden. Nu heb je dus index.php, function.js, testpage.php en testpage2.php.
Jou oplossing was on() function, heb ik ook geprobeerd alleen ik weet niet wat ik verkeerd doe. Als ik on() function toepas om mijn eerste functie binnen function.js dan worden er ook geen gegevens in DIV 2 geladen.