私はここで立ち往生しており、これに関するガイダンスを得たいと考えています。フィードから XML を取得し、いくつかの要素を配列に入れ、jQuery の DatePicker プラグインに渡そうとしています。以下の私のコードはカレンダーを表示していますが、フィードからのイベントは表示していません。Chrome にはエラーや警告も表示されません。何が起こっているのかわからない。どんな援助も大歓迎です。
(私のXML):
<entry>
<published>2012-05-29T13:05:53-08:00</published>
<updated>2012-05-29T13:05:58-08:00</updated>
<title type="html">
<![CDATA[ Businesses Get Help With Legal Issues ]]>
</title>
<content type="html">
<![CDATA[ Click the article header for the complete story.
<!-- /Publications/26674.htm -->
]]>
</content>
<link rel="alternate" type="text/html" href="/Publications/26675.htm"/>
</entry>
(外部 JS ファイル内):
$(document).ready(function(){
var events = new Array();
events = getSelectedDates();
$("div.datepicker").datepicker({
beforeShowDay: function(date) {
var result = [true, '', null];
var matching = $.grep(events, function(event) {
return event.published.valueOf() === date.valueOf();
});
if (matching.length) {
result = [true, 'highlight', null];
}
return result;
},
onSelect: function(dateText) {
var date,
selectedDate = new Date(dateText),
i = 0,
event = null;
while (i < events.length && !event) {
date = events[i].published;
if (selectedDate.valueOf() === date.valueOf()) {
event = events[i];
}
i++;
}
if (event) {
alert(event.Title);
}
}
});
});
function getSelectedDates()
{
var the_selected_dates = new Array();
$.ajax(
{
url: 'news.xml',
type: 'GET',
dataType: 'xml',
async: false,
success: function(data)
{
$(data).find('entry').each(function(i, entryObj)
{
var entryObj = new Object();
entryObj.eTitle = $('title', this).text();
entryObj.eDate = $('published', this).text();
the_selected_dates.push(entryObj);
});
}
});
return the_selected_dates;
}