Я пытаюсь получить календарь событий, работающий с данными json. Я просто хочу выделить даты и обновить div под календарем с информацией о событии, когда пользователь нажимает на дату. Мое приложение служит JSON в виде:Pull in JSON data
[
{"Date":"02/06/2012","Title":"Eat, Bike, and Swim"},
{"Date":"02/03/2012","Title":"Sleep"},
{"Date":"02/02/2012","Title":"Laugh"}
]
У меня есть скрипку JS, который работает с определением переменной, но я не могу заставить его ответить на запрос JSON.
Вот моя лучшая попытка: http://jsfiddle.net/PGmFv/2/
Javascript является:
$(document).ready(function() { var dp, events; events = []; return dp = $(".blog_calendar").datepicker({ beforeShowDay: function(date) { var matching, result; $.getJSON("https://raw.github.com/gist/1676157/15ce81851e57dfcecb985039e970a749585959de/my.json", function(data) { return events = data; }); result = [true, "", null]; matching = $.grep(events, function(event) { return event.Date.valueOf() === date.valueOf(); }); if (matching.length) { result = [true, "highlight", null]; } return result; }, onSelect: function(dateText) { var date, event, i, selectedDate; date = void 0; selectedDate = new Date(dateText); i = 0; event = null; while (i < events.length && !event) { date = events[i].Date; if (selectedDate.valueOf() === date.valueOf()) { event = events[i]; } i++; } if (event) { return alert(event.Title); } } }); });
Я пытаюсь загрузить в формате JSON внутри функции Datepicker, потому что я хочу, чтобы иметь возможность иметь несколько календарей на на той же странице и this.id
содержит определенную переменную URL, поэтому я могу позвонить $.getJSON('/events/' + this.id + '/data.json',function() {}
Любые мысли очень ценятся. Я сильно опираюсь на: Events in jQuery UI Datepicker with json data source и Datepicker with events?, но просто не могу получить json для загрузки в нужное время и в правильном направлении.
Отсутствие ошибки в консоли не помогает.
теперь это имеет смысл, но я не уверен, как это исправить. Мне нужно вытащить json-данные в функцию datepicker, чтобы я мог поместить несколько календарей на одну страницу и запросить идентификатор, специфичный для календаря. Div – bonhoffer
. Я пытаюсь что-то вроде этого на основе вашего предложения, но все еще не работает: http : //jsfiddle.net/PGmFv/12/ – bonhoffer