gpt4 book ai didi

javascript - 根据位置/日期更改日期选择器中的时间

转载 作者:行者123 更新时间:2023-11-30 06:12:35 25 4
gpt4 key购买 nike

我正在使用 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();
}
});

所以现在代码工作得很好,我想改变的是除了我那里的所有东西(我能够在以前的海报的帮助下完成剩下的),如果 pickup_loc = "oc" 我希望可用的日期是星期一、星期二、星期四、星期五,并且我希望可用的时间是上午 11 点到下午 2 点。我该怎么做呢?

编辑:Here is a working jsfiddle

最佳答案

我为您的单选按钮添加了一个功能,我认为您在设置日期时也在操纵时间选择器。因此,您必须构建一个函数,以便在更改日期和更改地点时调用,并将它们整理到一个函数中以提高一致性,现在新函数可以很好地处理您的时间选择器,但是一旦您选择了日期,这些函数就会被覆盖根据你的日期开始函数。

这不是准确的代码,只是为了帮助您确定下一步行动。

function placeEvents() {
var pickup_loc_sel = document.getElementsByName('car-rental-pickup-location');
for (var i = 0; i < pickup_loc_sel.length; i++) {
/* if (pickup_loc_sel[i].checked) {
pickup_loc = pickup_loc_sel[i].value;
} */
pickup_loc_sel[i].addEventListener('change', function(e){
var max = [16, 30];
var min = [9, 00];
if(e.target.value === 'oc') {
min = [11, 0];
max = [14, 0];
}
var time = timepicker.pickatime('picker');
time.clear().set({
max, min
});

disable = e.target.value === 'oc' ? [1, 4, 6] : [1];
var date = pickupdatepicker.pickatime('picker');
date.clear().set({
disable
})
})
}
}

JS Fiddle 供您引用https://jsfiddle.net/9c6r1ns4/1/

关于javascript - 根据位置/日期更改日期选择器中的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58003023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com