Ik doe een ajax call en alles word prima weergegeven zoals het hoort.
<?php
<script>
$(document).ready(function(){
$('.catlist').click(function(){
var $cat = $(this).attr('id');
$('#loadbycat').load('videos/loadvideobycat/'+$cat);
});
});
</script>
?>
Het enigste probleem is dat op die gegevens die uit de ajax call komen geen jquery meer werkt. de css en dergelijk zijn er perfect uit. maar ze worden precies niet door de DOM erkend. Zelf zijn ze niet te zien in de source van de pagina.
Iemand een idee wat er hier aan de hand is ?
thx
[size=xsmall]Toevoeging op 04/07/2013 10:37:33:[/size]
hier worden ze ingeladen <ul id="loadbycat" class="thumbnails"></ul>
Gebruik de functie on() om event handlers te binden aan de elementen. Dan worden ook dynamisch gegenereerde elementen herkent. http://api.jquery.com/on/
Zoals je het nu doet verandert er inderdaad niets. Op deze manier wordt er nog steeds iets gebonden aan '.catlist' en alleen aan de elementen die al bestaan op het moment dat je pagina laadt.
on() maakt het mogelijk om de event handler niet direct aan het element te binden, maar aan een container element dat wel al bestaat:
$('body').on('click', '.catlist', function(){
});
De event handler wordt nu dus aan de body tag gebonden (die bestaat altijd als je het goed doet) en zodra er een click event wordt gezien op een element dat een child is van de body en op een element dat aan de selector '.catlist' voldoet, dan wordt deze event handler afgeroepen op dat element (dus niet op de body tag!). Ook dynamische elementen worden nu meegenomen omdat in eerste instantie de bind op de container is en het op dat moment niet uitmaakt of er uberhaupt al elementen bestaan die aan de selector voldoen. De container bestaat en dus kan het gebonden worden.
Maar wat verwacht je dan? Die '.catlist' zijn de elementen in je drop down, dat heeft dus niets te maken met de dynamische elementen die worden geladen in je container. Je zal alle event handlers die op die elementen werken moeten binden via de on() functie. Dat is nu niet gebeurd, dus nu zal het ook nog niet werken. (aannemende dat de versie op de eerder gegeven link de huidige versie is)