gpt4 book ai didi

javascript - 如何在 jQuery UI Datepicker 中禁用下一个周末?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:03:56 26 4
gpt4 key购买 nike

我想在订单页面中实现一个日历,如果用户在星期五上午 10 点之后订购,则在交货日期日历中屏蔽下一个星期六和星期日。这是我正在尝试但未按预期工作的示例代码。

beforeShowDay: function(date) {
var day = dt.getDay();
var hour = dt.getHours();
if (day == 4) {
// i think, here i want to put the code to disable days
}
}

如果我用这样的东西

beforeShowDay: function(date) {
var day = date.getDay();
var dt = new Date();
var hour = dt.getHours();
return [(day != 5 && day != 6)];
}

我可以禁用周六和周日,但这会禁用所有周六和周日。我只想禁用接下来的周六周日禁用。我也可以在 var hour 中获取当前 Hour,那么我应该在哪里使用条件来检查小时是否大于上午 10 点,我正在使用类似的东西但没有工作

beforeShowDay: function(date) {
var dt = new Date();
var hour = dt.getHours();
var day = date.getDay();
if (day == 4 && hour >= 10) {
return [(day != 5 && day != 6)];
}
}

最佳答案

beforeShowDay 函数中,检查当前日期是否为星期五以及上午 10 点之后。如果这是真的,那么您还需要检查作为参数传递的 date 是否是下周六或周日:

$(function() {
$("#datepicker").datepicker({
beforeShowDay: function(date) {
// date (Friday March 13 2015 10:00 AM) is hardcoded for testing
var now = new Date(2015, 3 - 1, 13, 10, 0, 0, 0);
if (now.getDay() === 5 && now.getHours() >= 10) {
var now_plus_1 = new Date(now.getTime()); now_plus_1.setHours(0, 0, 0, 0); now_plus_1.setDate(now_plus_1.getDate() + 1);
var now_plus_2 = new Date(now.getTime()); now_plus_2.setHours(0, 0, 0, 0); now_plus_2.setDate(now_plus_2.getDate() + 2);
return [date.getTime() !== now_plus_1.getTime() && date.getTime() !== now_plus_2.getTime(), ""];
}
return [true, ""];
}
});
});
@import url("//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/ui-darkness/jquery-ui.min.css");

body { font-size: smaller; }
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<input id="datepicker">

关于javascript - 如何在 jQuery UI Datepicker 中禁用下一个周末?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29016034/

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