bon*_*fer 1 javascript jquery json jquery-ui
我想从json数据中获取一个事件日历.我只是想突出显示日期,并在日历下方有一个div更新,其中包含用户点击日期时的活动详细信息.我的应用程序以下列形式提供JSON:
[
{"Date":"02/06/2012","Title":"Eat, Bike, and Swim"},
{"Date":"02/03/2012","Title":"Sleep"},
{"Date":"02/02/2012","Title":"Laugh"}
]
Run Code Online (Sandbox Code Playgroud)
我有一个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);
}
}
});
});
我正在尝试加载datepicker函数内的json,因为我希望能够在同一页面上有多个日历并this.id包含一个特定的url变量,所以我可以调用$.getJSON('/events/' + this.id + '/data.json',function() {}
任何想法都非常感激.我非常倾向于:使用json数据源和带有事件的Datepicker的jQuery UI Datepicker中的事件?但只是无法在正确的时间以正确的方式加载json.
控制台中没有错误没有帮助.
为了从另一个域获取JSON数据,您必须使用带回调函数的JSONP.所述Github的API支持此(例如),和jQuery处理与自动使回调dataType: 'jsonp'.
这是我如何通过jQuery从Github gist获取JSON数据:
$.ajax({
url: 'https://api.github.com/gists/'+gistid,
type: 'GET',
dataType: 'jsonp'
}).success( function(gistdata) {
// This can be less complicated if you know the gist file name
var objects = [];
for (file in gistdata.data.files) {
if (gistdata.data.files.hasOwnProperty(file)) {
var o = JSON.parse(gistdata.data.files[file].content);
if (o) {
objects.push(o);
}
}
}
if (objects.length > 0) {
// DoSomethingWith(objects[0])
}
}).error( function(e) {
// ajax error
});
Run Code Online (Sandbox Code Playgroud)
(jsFiddle)
| 归档时间: |
|
| 查看次数: |
3493 次 |
| 最近记录: |