해보십시오이 라인을 따라 뭔가 (우아한 아니지만, 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);
});
});
귀하의 질문은 너무 광범위하다. 시도한 것을 게시 할 수 있습니까? 실패했을 수 있습니다. 그런 식으로 최소한 당신의 노력을 보여 주었을 것입니다. –
성수기 시즌의 비용을 지시하는 JavaScript 변수 세트를 할당해야합니다. 그런 다음 변경 이벤트를 사용하여 캘린더 입력을 받아 어떤 비용이 적용되는지 확인하십시오. –