用户从两个jquery-ui日期选择器中选择一对日期,当用户选择第二个日期时,将两个值与存储在外部JSON文件中的字符串进行比较。如果日期在下面的日期内,则外部数据将返回到html页面。日期如下:
"startDate":"01/01/2017",
"endDate":"05/09/2018"
我创建一个if语句是不成功的,该语句将成功比较datepicker中的日期字符串,有人可以指出我在制作if语句时出错的地方吗?
JQUERY CODE:
$("#frompicker").datepicker({
dateFormat: "dd/mm/yy",
numberOfMonths: 2,
onSelect: function(selected) {
$("#topicker").datepicker(null, "minDate", selected);
date = selected;
console.log(date);
}
});
$("#topicker").datepicker({
dateFormat: "dd/mm/yy",
numberOfMonths: 2,
onSelect: comparetime
});
var comparetime = function(selected) {
$("#frompicker").datepicker(null, "maxDate", selected);
dateObject = selected;
$('.removeMe').remove();
$.getJSON('Holidays.json', function(data) {
for (i = 0; i < data.Resorts.length; i++) {
var d = date;
var x = dateObject;
if ((d >= data.Resorts[i].startDate && x < data.Resorts[i].endDate)) {
console.log(date + " " + dateObject);
var output = "<section><section class='removeMe container'>";
output += "<h2>" + data.Resorts[i].name + ", " + data.Resorts[i].destination + "<a href='" + data.Resorts[i].url + "'>Take an In-Depth look</a> " + "</h2>" + "<img src='" + data.Resorts[i].picture + ".jpg'>" + "<article>" + "<p>" + data.Resorts[i].short_description + "</p>" + "<p>Rating: " + data.Resorts[i].Rating + "</p>" + "<p>" + "Price: " + data.Resorts[i].price + "</p>" + "<p>Start Date:" + "<time datetime='" + data.Resorts[i].startDate + "'>" + data.Resorts[i].startDate + "</time></p>" + "<p>End Date: " + "<time datetime='" + data.Resorts[i].endDate + "'>" + data.Resorts[i].endDate + "</time></p>" + "<p> Activities: " + data.Resorts[i].activities + "</p>" + "</article></section></section>";
$("body").append(output + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>" + "<br class='removeMe'>");
}
}
});
};
JSON格式:
{
"destination":"Carribean",
"name":"Les Boucaniers",
"location":"Martinique",
"Rating":"4",
"activities":[
"WaterSkiing",
"Tennis",
"ScubaDiving",
"Spa"
],
"price":"£1254",
"startDate":"01/01/2017",
"endDate":"05/09/2018",
"short_description":"The resort of Les Boucaniers is located on the laid-back beach-covered south coast of the island, and is perfectly placed for Martinique holidays that are both relaxing and awe-inspiring.",
"picture":"LesBoucaneers",
"long_description":"A divers' paradise in the Baie du Marin, a legendary spot.<br>Its bungalows are discreetly lodged in a tropical garden beside the white sand beach in superb Marin Bay. A magical site where you can enjoy a taste of everything, alone or with family or friends. Try water sports and the magnificent Club Med Spa*. You'll be enchanted by the exotic flavours of the local cuisine and the joyful spirit of the Caribbean.",
"url":"Carribean.html"
}