我有一个rails应用程序,我正在使用jquery。我有困难做的是让我的定制假日日期和小约会,这是今天,没有周末,所有的工作和一起玩得很好。到目前为止,唯一起作用的是我的定制假日,那就是我的var penn。任何帮助都将不胜感激!
这是我的application.js
$(document).ready(function(){
var penn = ["2015-01-01","2015-04-03", "2015-05-25", "2015-07-03", "2015-09-07", "2015-11-26", "2015-12-25", "2016-01-01"];
var ends = $('#leave_start').datepicker( "option", "beforeShowDay", $.datepicker.noWeekends );
var today = $('#leave_start').datepicker( "option", "minDate", 0 );
$('#leave_start').datepicker({
beforeShowDay: function(date){
var holidays = jQuery.datepicker.formatDate('yy-mm-dd', date); return [ penn.indexOf(holidays) == -1];
var weekends = jQuery.datepicker.formatDate('yy-mm-dd', date); return [ ends.indexOf(weekends) == -1];
var after = jQuery.datepicker.formatDate('yy-mm-dd', date); return [ today.indexOf(after) == -1];
}
});
});我尝试过这一点,而mindate有效,但是,似乎我不能有多个beforeShowDays选项。
$(document).ready(function(){
var penn = ["2015-01-01","2015-04-03", "2015-05-25", "2015-07-03", "2015-09-07", "2015-11-26", "2015-12-25", "2016-01-01"];
$('#leave_start').datepicker({
beforeShowDay: $.datepicker.noWeekends,
minDate: 0,
beforeShowDay: function(date){
var holidays = jQuery.datepicker.formatDate('yy-mm-dd', date); return [ penn.indexOf(holidays) == -1];}
});
});发布于 2015-07-24 13:20:01
不,您不能有多个beforeShowDay选项。您可以做的是在一个函数中处理这两种情况:
$('#leave_start').datepicker({
beforeShowDay: $.datepicker.noWeekends,
minDate: 0,
beforeShowDay: function(date) {
var weekend = $.datepicker.noWeekends(date);
// If date is selectable (not a weekend day), check if date is a holiday.
if (weekend[0]) {
var holidays = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ penn.indexOf(holidays) == -1];
} else {
return weekend;
}
}
});JSFiddle演示
https://stackoverflow.com/questions/31610951
复制相似问题