Я делаю AJAX-вызов, который возвращает данные XML, и это моя функция success: callback:
success: function (data) {
var $rowArray = $(data).find("[nodeName=z:row]");
$rowArray.each(function(index) { // for each date put it into calMap.
calMap[$(this)[index].title] = $(this).attr("ows_Title");
calMap[$(this)[index].date] = $(this).attr("ows_EventDate");
});
}
calMap - объявленный глобальный объект javascriptвне функции.
var calMap = {};
Что я хочу сделать, это создать функцию, в которой я могу передать title , чтобы она искала calMap для этого заголовкаи, если найден, конкретный объект возвращается, и я смогу получить доступ к свойству date для этого объекта.
Проблема в том, что я не могу получить доступ к данным, которые явставить в объект calMap.Для начала я просто хочу напечатать карту.Попробовал eval , попробовал предупредить calMap [0] , попытался предупредить calMap [0] .title , но ничего.Может кто-то помочь мне с этим?Спасибо!
Обновление: я хочу сделать что-то вроде этого:
var data = getData("myTitle");
function getData(title) {
// if title is in calMap, something like this?
var result = (calMap[title]));
return result; // returns an object or NOTHING
}
тогда я проверю, определена дата или нет, и если это так, я получу доступ к ее свойствам(т. е. data.date . Это имеет смысл?
ОТВЕТ: Я закончил с использованием массива. ВСЕ ЕЩЕ думаю, что я смогу использовать объект MAP, но мне нужно было получить мой проектготово.
Вот окончательный код для кода, который обращается к элементам массива:
function hasCalDate(code)
{
var matched = "";
for (var f=0;f<calMap.length;f++){
var re = new RegExp(code);
if (re.test(calMap[f].title))
{
matched = calMap[f].title+','+calMap[f].date;
}
}
return matched;
};
Спасибо всем.