Das Problem mit dem umschließenden Div habe ich per JS gelöst. Wäre in meinen Augen in der ajax.php zwar besser aufgehoben (bei g=1 nur Kind-Elemente senden), aber es erfüllt seinen Zweck. So läuft es bei mir jetzt.
Code:
<script type="text/javascript">
function ajaxCalendar() {
document.getElements('.mod_calendar .head a').addEvent('click', function(event)
{
var month = event.target.get('href').match('month=[0-9]{6}');
new Request.JSON({
method:'get',
data:'g=1&action=fmd&id=18&' + month,
url:'ajax.php',
onComplete: function(responseText){
var outer = event.target.getParent('.mod_calendar');
/* erst nach dem Einfügen des responseText kann dieser per DOM manipuliert werden, gebraucht werden nur die Kind-Elemente */
outer.set('html', responseText.content);
/* das eingefügte Div bestimmen */
var inner = outer.getElement('div');
/* die Kind-Elemente vom responseText dem Kalender-Div einfügen */
outer.adopt(inner.getChildren());
/* jetzt kann das eingefügte Div (responseText) wieder entfernt werden */
inner.dispose();
/* notwendig, um das Event neu zu registrieren */
ajaxCalendar();
}
}).send();
return false;
});
}
window.addEvent('domready', function() {
ajaxCalendar();
});
</script>
Lesezeichen