jquery - datepicker beforeshowday 返回不工作
问题描述
我正在尝试使用beforeShowDay
禁用和突出显示日历中的日期。我发现这个小提琴代码有效。当我返回false
时,它会在那天工作并禁用,但我试图返回[false, 'holiday', '']
一个 CSS 类,但它不工作或不禁用日期。
function add_zero(num){
if(num<10){
return '0'+num;
}else{
return num;
}
}
$('.date').datepicker({
format: "mm-dd-yyyy",
autoclose: true,
daysOfWeekDisabled: [0],
weekStart: [1],
beforeShowDay: function(Date) {
var array = <?php echo json_encode($arry); ?>;
var curr_day = add_zero(Date.getDate());
var curr_month = add_zero(Date.getMonth() + 1);
var curr_year = Date.getFullYear();
var curr_date = curr_month + '-' + curr_day + '-' + curr_year;
for (i = 0; i < array.length; i++) {
if (curr_date == array[i]) {
// return false;
return [false, 'holiday', ''];
}
}
//return [true,''];
return true;
}
}).on('changeDate', cal_date);
解决方案
大多数问题出现在您的 php 日期格式中。
var highlight = ['2019/05/19', '2019/05/20'];
//tips are optional but good to have
var tips = ['some description', 'some other description'];
var disable_dates = ['2019/05/01', '2019/05/08', '2019/05/15', '2019/05/22', '2019/05/29']
$('.date').datepicker({
format: "mm-dd-yyyy",
autoclose: true,
daysOfWeekDisabled: [0],
weekStart: [1],
beforeShowDay: function (date) {
var datestring = jQuery.datepicker.formatDate('yy/mm/dd', date);
var hindex = $.inArray(datestring, highlight);
if (hindex > -1) {
return [true, 'highlight yourcustomcss', tips[hindex]];
}
var aindex = $.inArray(datestring, disable_dates);
if(aindex == -1)
return [true,'custom_enabled']
else
return [false,'custom_disabled']
}
})
推荐阅读
- php - 在 WooCommerce 中更改订单运费总额
- python-3.x - Pandas 根据当前值计算数据列的新值
- teradata - Teradata SQL 语法错误:无效的 FORMAT 字符串 'hh:mi:ss.s(7)'
- github - 如何在 GitHub 表格中使用较小的字体?
- docker - Dockerfile 在 azure devops 中实施时面临问题
- android - MVVM - 从存储库类检索后在哪里格式化数据?
- php - 在 Windows Nanoserver 上安装 PHP 7.3 NTS-64 需要哪些 DLL?
- python - 使用用户输入在python中循环和求和
- mysql - 如何在 MySQL 中将已删除的值设置为变量
- javascript - 用 Javascript 制作标准的 ToDo 列表