jQuery 日期选择器 - 排除特定日期,但允许特定日期
jQuery Datepicker - Exclude certain days, but allow specific dates
我需要从全年的日期选择器中排除星期一和星期二,但需要在 2020-12-21 和 2020-12-22 的假期期间允许这样做。
如果不是上述日期之一,我如何应对 day != 1 && day != 2
并仅使用它?
var excludeDates = ["2020-12-24","2020-12-25","2020-12-26","2020-12-27","2020-12-28","2020-12-29","2020-12-30","2020-12-31","2021-01-01","2021-01-02","2021-01-03",,"2021-01-04","2021-01-05","2021-01-06"];
$( function() {
$( "#roves_collection_date" ).datepicker({
minDate : advanceCollection,
dateFormat: 'dd/mm/yy',
altFormat: 'yy-mm-dd',
beforeShowDay: function(date) {
var day = date.getDay();
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [(day != 1 && day != 2 && excludeDates.indexOf(string) == -1];
}
});
});
如果您将另一个日期数组添加到 include(覆盖任何排除项),那么您可以使用:
return [((day != 1 && day != 2 && excludeDates.indexOf(string) == -1)
|| includeDates.indexOf(string) >= 0)];
var excludeDates = ["2020-12-24", "2020-12-25", "2020-12-26", "2020-12-27", "2020-12-28", "2020-12-29", "2020-12-30", "2020-12-31", "2021-01-01", "2021-01-02", "2021-01-03", , "2021-01-04", "2021-01-05", "2021-01-06"];
var includeDates = ["2020-12-21", "2020-12-22"];
$(function() {
$("#dte").datepicker({
//minDate: advanceCollection,
dateFormat: 'dd/mm/yy',
altFormat: 'yy-mm-dd',
beforeShowDay: function(date) {
var day = date.getDay();
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
console.log(day, string, includeDates.indexOf(string));
return [((day != 1 && day != 2 && excludeDates.indexOf(string) == -1)
|| includeDates.indexOf(string) >= 0)];
}
});
});
<link href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet" />
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
<input type='text' id='dte' />
我需要从全年的日期选择器中排除星期一和星期二,但需要在 2020-12-21 和 2020-12-22 的假期期间允许这样做。
如果不是上述日期之一,我如何应对 day != 1 && day != 2
并仅使用它?
var excludeDates = ["2020-12-24","2020-12-25","2020-12-26","2020-12-27","2020-12-28","2020-12-29","2020-12-30","2020-12-31","2021-01-01","2021-01-02","2021-01-03",,"2021-01-04","2021-01-05","2021-01-06"];
$( function() {
$( "#roves_collection_date" ).datepicker({
minDate : advanceCollection,
dateFormat: 'dd/mm/yy',
altFormat: 'yy-mm-dd',
beforeShowDay: function(date) {
var day = date.getDay();
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [(day != 1 && day != 2 && excludeDates.indexOf(string) == -1];
}
});
});
如果您将另一个日期数组添加到 include(覆盖任何排除项),那么您可以使用:
return [((day != 1 && day != 2 && excludeDates.indexOf(string) == -1)
|| includeDates.indexOf(string) >= 0)];
var excludeDates = ["2020-12-24", "2020-12-25", "2020-12-26", "2020-12-27", "2020-12-28", "2020-12-29", "2020-12-30", "2020-12-31", "2021-01-01", "2021-01-02", "2021-01-03", , "2021-01-04", "2021-01-05", "2021-01-06"];
var includeDates = ["2020-12-21", "2020-12-22"];
$(function() {
$("#dte").datepicker({
//minDate: advanceCollection,
dateFormat: 'dd/mm/yy',
altFormat: 'yy-mm-dd',
beforeShowDay: function(date) {
var day = date.getDay();
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
console.log(day, string, includeDates.indexOf(string));
return [((day != 1 && day != 2 && excludeDates.indexOf(string) == -1)
|| includeDates.indexOf(string) >= 0)];
}
});
});
<link href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet" />
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
<input type='text' id='dte' />