forked from rmurphey/jqfundamentals
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspecials.js
46 lines (37 loc) · 958 Bytes
/
specials.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$(document).ready(function() {
var $specials = $('#specials');
$specials.find('li.buttons').remove();
var cachedResponse = null;
var $details = $('<div/>').appendTo($specials);
var handleResponse = function(specials, val) {
var daySpecial = specials[val];
var html = '<h3>' + daySpecial.title + '</h3>';
html += '<p>' + daySpecial.text + '</p>';
$details.html(html);
$('<img/>')
.attr('src', daySpecial.image)
.appendTo($details);
$details.css('color', daySpecial.color);
};
var $select = $specials.find('select')
.change(function() {
var val = $select.val();
if (!val) {
$details.empty();
return;
}
if (cachedResponse) {
handleResponse(cachedResponse, val);
} else {
$.ajax({
type : 'get',
dataType : 'json',
url : 'json/specials.json',
success : function(specials) {
cachedResponse = specials;
handleResponse(specials, val);
}
});
}
});
});