Hallo

Ik heb een AJAX (mootools) script om een PHP-kalender te tonen, volgens een geselecteerde maand / jaar in een <SELECT> clausule.

Wanneer men van maand/jaar veranderd, toont de kalender de dagen van de geselecteerde maand in tabelvorm. Alles werkt, tot ik daarna terug van maand wil veranderen.

Hij voert volgens mij door de opnieuw gegenereerde code niet meer de Javascript code uit.

Weet iemand hoe dit kan komen?

Dit is de code:

PHPkalender:

echo $out; //bevat de tabel
echo '<script type="text/javascript" src="components/com_php/Timesheets/ajax_calendarchange.js"></script>';//bevat het script


Ajax_calendarchange.js:

var curdate=new Date();
var maand = curdate.getMonth()+1;
var jaar = curdate.getYear();
if (jaar < 1000) jaar+=1900;
    
function setId(form, value) {
form.fDag.value = value; //setdatum
return true;
}
function changeMaand(m) {
	maand = m+1;
}
function changeJaar(j) {
	jaar = j;
}
function getURL() {
	oriurl = "components/com_php/Timesheets/Controller.php?task=changeDatum";
	return oriurl + "&maand=" + maand + "&jaar=" + jaar;
}
$('selectMaand').getElements('option').addEvent('click',function(){
    new Ajax(getURL(), {
        'method' : 'get', 
        'update': $('calendar'),       
        'onComplete': function(response) {
            /*
			console.log("complete");
			var resp=Json.evaluate(response);
			console.log(resp);
			*/			
        }
    }).request();
});
$('selectJaar').getElements('option').addEvent('click',function(){
    new Ajax(getURL(), {
        'method' : 'get', 
        'update': $('calendar'),       
        'onComplete': function(response) {
            /*
			console.log("complete");
			var resp=Json.evaluate(response);
			console.log(resp);
			*/			
        }
    }).request();
});
Zet je script tussen [ignore]
[/ignore] tags, zo is alles beter leesbaar.

edit: Die bedoel ik :)
Yearupie schreef op 14.09.2009 17:34
Zet je script tussen code tags, zo is alles beter leesbaar.

Je bedoelt [ignore]
[/ignore].
alright gebeurd. ik wist niet hoe dit te doen ;)
Alright heb het kunnen fixen mede dankzij de demo's van MooTools.

Ik heb het kunnen maken door het veranderen van maand en jaar gedeelte UIT de <div> gehaald die werd geupdate, en zo blijft het gedeclareerde click event eraan gebound.

Er is wel een manier om dus te werken met een AJAX/MooTools component binnenin het gedeelte dat je hebt gerequest, en dus het javascript dat je opvraagt ook te laten uitvoeren, maar het is me niet gelukt dus ik kan het niet uitleggen.

Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.

Reageren