本文介绍了突出显示,禁用 jQuery UI 日期选择器中的特定日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在这里,我想实现以下
- 在日期选择器中突出显示所有假期
- 在日期选择器中禁用特定日期
- 在日期选择器中禁用特定周末
我分别有每个片段,但我想要所有片段
I have snippets of each separately, but i want all together
小提琴:工作演示
突出假期
var holydays = ['10/17/2013', '10/18/2013', '11/2/2013'];
function highlightDays(date) {
for (var i = 0; i < holydays.length; i++) {
if (new Date(holydays[i]).toString() == date.toString()) {
return [true, 'highlight'];
}
}
return [true, ''];
}
$(function () {
$("#dp").datepicker({
minDate: 0,
dateFormat: 'mm/dd/yy',
inline: true,
numberOfMonths: [1, 2],
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
beforeShowDay: highlightDays,
});
});
禁用特定日期
var disabledDays = ["10-20-2013", "10-21-2013", "11-15-2013", "11-17-2013"];
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
return [false];
}
}
return [true];
}
禁用周末
$(function() {
$( "#availability" ).datepicker({
minDate: 0,
dateFormat: 'mm/dd/yy',
inline: true,
numberOfMonths: [1, 2],
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
beforeShowDay: $.datepicker.noWeekends
});
});
谁能帮帮我..
提前致谢.
推荐答案
change :
$(function () {
$("#dp").datepicker({
minDate: 0,
dateFormat: 'mm/dd/yy',
inline: true,
numberOfMonths: [1, 2],
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
beforeShowDay: setCustomDate // <-----change function
});
});
添加功能:
function setCustomDate(date) {
var clazz = "";
var arr1 = highlightDays(date);
if (arr1[1] != "") clazz = arr1[1];
var arr2 = disableAllTheseDays(date);
var arr3 = $.datepicker.noWeekends(date);
return [(!arr2[0] || !arr3[0]) ? false : true, clazz];
}
这篇关于突出显示,禁用 jQuery UI 日期选择器中的特定日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!