【发布时间】:2020-01-20 00:23:45
【问题描述】:
我正在使用amsul date selector and a time selector,我想根据选中的日期和复选框更改时间选择器的最小/最大小时数。这是我的代码:
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
var nextyear=new Date();
nextyear.setFullYear(nextyear.getFullYear()+1);
pickupdatemin=new Date(document.getElementById('car-rental-pickup-date').value);
const timepicker = $('#car-rental-pickup-time').pickatime({
clear: '',
min: [9,00],
max: [16,30],
onSet: function(context) {
getpricing();
}
});
const pickupdatepicker = $('#car-rental-pickup-date').pickadate({
format: 'mm/dd/yyyy',
min: tomorrow,
max: nextyear,
today: '',
close: '',
clear: '',
disable: [1],
onSet:function(context){
var pickup_loc_sel = document.getElementsByName('car-rental-pickup-location');
var pickup_loc;
for(var i = 0; i < pickup_loc_sel.length; i++){
if(pickup_loc_sel[i].checked){
pickup_loc = pickup_loc_sel[i].value;
}
}
var d = new Date(context.select);
var isSat = d.getDay() == 6 && pickup_loc == "sf";
var max = isSat ? [11,30] : [16,30];
var time = timepicker.pickatime('picker');
time.clear().set({max});
var ddate = dropdatepicker.pickadate('picker');
ddate.clear();
ddate.set('min', d);
getpricing();
}
});
所以现在代码工作得很好,我想要改变的是除了我拥有的所有东西(我可以在这里之前的海报的帮助下完成剩下的工作),如果@987654325 @我希望可用的日期是星期一、星期二、星期四、星期五,我希望可用的时间是上午 11 点到下午 2 点。我该怎么做呢?
【问题讨论】:
-
您希望时间根据您选择的日期而变化??
-
所以洛杉矶的可用时间是 MS 9AM-4:30PM,SF 是 MF 9:30AM-4:30PM/周六 9:30AM-11:30PM,OC 是 M,周二、周四、周五上午 11 点至下午 2 点。除了 OC,我什么都有,如果选择 OC,则禁用日期需要为 1、4、6,最小/最大时间需要为 11AM - 2PM
-
你有工作的例子 jsfiddle 还是什么?
-
@joyBlanks jsfiddle.net/yu0chb9j
-
当用户选择日期前的时间时会发生什么?您不应该在输入日期之前禁用时间
标签: javascript pickadate