gpt4 book ai didi

javascript - 日期选择器 onchangemonthyear beforeshowday

转载 作者:行者123 更新时间:2023-11-30 17:55:06 27 4
gpt4 key购买 nike

我在 twitter bootstrap 的模态上有日期选择器。为了突出显示某些日期,日期选择器作为 ajax 调用在“成功”部分生成。

我设法突出显示当月我想突出显示的日期,这很好。

但是当我切换到上个月或下个月时,我想再次进行该 ajax 调用并呈现要突出显示的日期。下面你可以看到我的代码:

function nonValidated() {           

var date = new Date();
date.addDays(-date.getDate() + 1);
var startDate = [date.getDate().lpad(2), (date.getMonth() + 1).lpad(2), date.getFullYear()].join('/');
var enddate = new Date();
enddate.setDate(date.getDaysInMonth());
var endDate = [enddate.getDate().lpad(2), (enddate.getMonth() + 1).lpad(2), enddate.getFullYear()].join('/');
var depId = $('#serviceSelector').val();


$.ajax({
type: "POST",
url: "/ServiceManagement/GetUnassignedSlots",
data: { "from": startDate, "to": endDate, "depId": depId },
success: function (data) {
$.datepicker.setDefaults(
$.extend(
{ 'dateFormat': 'dd/mm/yy' },
$.datepicker.regional['nl-BE']
)
);
$("#nonValidatedDatepicker").datepicker(
{
inline: true,
beforeShowDay: function (date) {

var theday = date.getDate() + '/' +
(date.getMonth() + 1).lpad(2) + '/' +
date.getFullYear();
return [true, $.inArray(theday, data.result) >= 0 ? "warningDate" : ''];
},
onSelect: function (dateText, inst) {
var dateParts = dateText.split('/');
if (dateParts[0][0] == '0') dateParts[0] = dateParts[0][1];
if (dateParts[1][0] == '0') dateParts[1] = dateParts[1][1];
var newdate = new Date(dateParts[2], dateParts[0]-1, dateParts[1]);

var dayOfWeek = newdate.getDay();
if (dayOfWeek == 0) dayOfWeek = 7;
var weekstart = new Date(newdate.getFullYear(), newdate.getMonth(), newdate.getDate());
weekstart.addDays(-dayOfWeek + 1);
var weekend = new Date(newdate.getFullYear(), newdate.getMonth(), newdate.getDate());
weekend.addDays(7 - dayOfWeek);

$('#SelectWeekDate').val([weekstart.getDate().lpad(2), (weekstart.getMonth() + 1).lpad(2), weekstart.getFullYear()].join('/') + ' - ' + [weekend.getDate().lpad(2), (weekend.getMonth() + 1).lpad(2), weekend.getFullYear()].join('/'));
$('#modalNonValidated').modal('hide');
InitFillPage();
},
onChangeMonthYear: function (year, month, widget) {


}
}
);

},
error: function (data) {
},
statusCode: {
401: function (data) {
//ERROR 401: Unauthenticated
window.location.href = '/Account/Login?ReturnUrl=' + encodeURIComponent(window.location.pathname);
}
}
});
}

有人知道如何将 onchangemonthyear 和 beforeshowday 结合起来吗?

最佳答案

我会将显示日期选择器的代码和进行 ajax 调用以获取日期选择器数据(确定要突出显示的日期的数据)的代码拆分为 2 个单独的函数。您可以从首先显示日期选择器的函数调用进行 ajax 调用的函数,然后再次从您的 onChangeMonthYear 函数调用。此外,确保获取数据的 ajax 调用同步(设置 async: false 选项),以便数据在 beforeShowDay 函数运行之前返回。

希望对您有所帮助!

关于javascript - 日期选择器 onchangemonthyear beforeshowday,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210643/

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