캘린더의 데이터가 포함 된 XML 파일이 있습니다. AJAX를 사용하여 일정에 동적으로 이벤트를로드하려고합니다. "afspraak"(4 개)이라는 XML 요소를 얻고 싶습니다. 는 XML 파일은 여기에서 볼 수 있습니다 : 나는 다음과 같은 코드를 사용하여 그렇게하기 위해 노력하고있어 http://dimitrisnijder.nl/files/agenda.xml일정을 캘린더에로드
:
function agendaLoad(){
$(".title").html(monthLabels[thisMonth]+" "+thisYear);
$.get(
"agendaSaver.php",
{month: thisMonth,
year: thisYear},
processXML,
"xml"
);
}
function processXML(xml) {
$("agenda afspraak", xml).each(function() {
var dag = $(this).find("dag").text();
var maand = $(this).find("maand").text();
var jaar = $(this).find("jaar").text();
var onderwerp = $(this).find("onderwerp").text();
var tijd = $(this).find("tijd").text();
var beschrijving = $(this).find("beschrijving").text();
if((maand == today.getMonth()+1) && (jaar == today.getFullYear())) {
$("#day"+dag).append('<div class="afspraak">'+onderwerp+'</div> <p class="beschrijving"><strong>'+tijd+' '+onderwerp+'</strong><br/>'+beschrijving+'</p>');
}
});
}
이 부분적으로 작동합니다. 스크립트는 네 번째 이벤트 ("afspraak")를 의제에로드하고 2012 년 3 월 25 일에 표시합니다.하지만이 이벤트는 매월 25 일에로드됩니다. 처음 세 가지 이벤트는 전혀로드되지 않습니다 ..
어떤 도움이 필요합니까? 미리 감사드립니다.
이미 agendaSaver.php를 테스트했습니다. 브라우저에서 실행하면 http://dimitrisnijder.nl/files/agenda.xml과 같은 전체 XML 문서가 표시됩니다. – dimitri010
예를 들어, 월 01을 통과하면 januari)를 agendaSaver.php에 보내면 'januari'의 두 이벤트가 반환됩니까? processXML 내부의 조건부 테스트 전후에 alert를 배치 했습니까? alert ('Maand :'+ maand) : 조건이 실행되는지 확인 하시겠습니까? – Stefan
maand는 0 (processXML에서) 대신 'januari'와 같습니다. 내 생각에 monthLabels 배열에서 주어진 이름의 달을 반환하려면 일종의 배열 indexOf() 메서드를 사용해야한다. – Stefan