我正在为单个属性建立别墅预订系统,以便用户可以直接在网站上预订。我正在努力寻找一种计算别墅住宿总成本的方法,以便我可以将其推到我的付款系统(条纹)。
我想创建一个表格,接受两个日期输入(到达日期&出发日期),并在日历中(对于高季节和低季节)分配了两组潜在的日期。这将允许用户在选择到达日期和出发日期后查看总成本。如果用户继续进行该值,然后将通过邮寄到表单操作页面,其中将使用总成本值进行付款。
我遇到的问题是如何将成本分配给表单日历?创建一个MySQL DB,其中分配给日期范围的某些值是解决此问题的最佳方法吗?我将如何使用表单日期输入从DB中获取这些信息?
尝试使用这些行(不是优雅,而是10个起动器):
var highSeasonDateRange = "xx/xx/xxxx - xx/xx/xxxx"; //use this format
var lowSeasonDateRange = "xx/xx/xxxx - xx/xx/xxxx"; //use this format
var highSeasonCost = "xxxxx";
var lowSeasonCost = "xxxxx";
$(function(){
$('input.calendarDateSelect').on("change", function(){
var val = $(this).val();
checkSeasonRate(val, $(this).attr("type") == "date");
});
});
function checkSeasonRate(date, ISO8601){
var highSeasonDateArray = highSeasonDateRange.split(" - ");
var lowSeasonDateArray = lowSeasonDateRange.split(" - ");
if(dateRangeCheck(highSeasonDateArray[0], highSeasonDateArray[1], date, ISO8601) === true){
return highSeasonCost;
}else if(dateRangeCheck(lowSeasonDateArray[0], lowSeasonDateArray[1], date, ISO8601) === true){
return lowSeasonCost;
}else{
return "error"; //Error handler
}
}
function dateRangeCheck(from, to, check, ISO8601) {
var fDate,lDate,cDate;
var fromDateArray = from.split("/");
var toDateArray = to.split("/");
var checkDateArray;
if(ISO8601){
checkDateArray = check.split("-");
cDate = Date.UTC(checkDateArray[0], checkDateArray[1] - 1, checkDateArray[2]);
}else{
checkDateArray = check.split("/");
cDate = Date.UTC(checkDateArray[2], checkDateArray[1] - 1, checkDateArray[0]);
}
fDate = Date.UTC(fromDateArray[2], fromDateArray[1] - 1, fromDateArray[0]);
lDate = Date.UTC(toDateArray[2], toDateArray[1] - 1, toDateArray[0]);
if((cDate <= lDate && cDate >= fDate)) {
return true;
}
return false;
}
更新:
$(function(){
$('input.calendarDateSelect').on("change", function(){
var val = $(this).val();
var cost = checkSeasonRate(val, $(this).attr("type") == "date");
//Do something with cost
alert(cost);
});
});