Javascript 如何在日期范围选择器中使用isInvalidDate禁用多个日期

Javascript 如何在日期范围选择器中使用isInvalidDate禁用多个日期,javascript,jquery,asp.net,date,Javascript,Jquery,Asp.net,Date,我想禁用几个日期范围内的日期选择器 我可以从2017年10月10日至2017年10月15日禁用,如下所示: var cekA = document.getElementById('HF_StartDateBlockMasterPage').value; var cekB = document.getElementById('HF_EndDateBlockMasterPage').value; $('#daterange').daterangepicker({ isInvalidDate

我想禁用几个日期范围内的日期选择器

我可以从2017年10月10日至2017年10月15日禁用,如下所示:

var cekA = document.getElementById('HF_StartDateBlockMasterPage').value;
var cekB = document.getElementById('HF_EndDateBlockMasterPage').value;

$('#daterange').daterangepicker({
    isInvalidDate: function (date) {
        var formatted = date.format('YYYY-MM-DD');
        if (date >= moment(cekA) && date <= moment(cekB)) {
            return true;
        }
    }
});
var cekA=document.getElementById('HF_StartDateBlockMasterPage')。值;
var cekB=document.getElementById('HF_EndDateBlockMasterPage')。值;
$(“#日期范围”).daterange选择器({
isInvalidDate:函数(日期){
var formatted=date.format('YYYY-MM-DD');

如果(date>=moment(cekA)&&date您只需要向isInvalidDate回调添加更多条件,每个条件表示要禁用的日期或日期块

例如,您可以编写:

jQuery(function($) {
    var a = moment("2017-10-10");
    var b = moment("2017-10-15");
    var x = moment("2017-10-25");
    var y = moment("2017-10-30");
    $("#daterange").daterangepicker({
        isInvalidDate: function(date) {
            if (date >= a && date <= b) {
                return true;
            }
            if(date >= x && date <= y) {
                return true;
            }
            return false;
        }
    });
});
jQuery(函数($){
var a=时刻(“2017-10-10”);
var b=力矩(“2017-10-15”);
var x=力矩(“2017-10-25”);
var y=力矩(“2017-10-30”);
$(“#daterange”).daterange选择器({
isInvalidDate:函数(日期){

如果(日期>=a&&date=x&&date=a&&date=x&&date=range.start&&date)我不理解您的问题“但是如果我想禁用2017年10月10日至2017年10月15日的日期,并再次禁用2017年10月25日至2017年10月30日的日期,我该怎么办?”你能更清楚一点吗?我很抱歉。我想禁用两个日期。禁用一个。禁用日期从2017年10月10日到2017年10月15日,禁用两个日期从2017年10月25日到2017年10月30日,所以我在10月我有可用日期从2017年10月21日到2017年10月24日。你能发布你已经实现的HTML吗?或者任何JSFIDLE?你只需要进一步添加er
if(日期>=时刻(foo)&&date@Phani Kumar M,请在顶部切克..谢谢..它像一个符咒一样工作..我有一个问题,如果使用每种方法如何?根据您的代码,如果我有10种类型的日期将被禁用,我必须设置10个变量?请给出您的建议。对于10个日期范围,您将需要20个日期。请参阅上面的其他示例,了解如何处理。@Roamer-1888…谢谢兄弟…帮了大忙..非常感谢你的建议。。
jQuery(function($) {
    var a = moment("2017-10-10");
    var b = moment("2017-10-15");
    var x = moment("2017-10-25");
    var y = moment("2017-10-30");
    $("#daterange").daterangepicker({
        isInvalidDate: function(date) {
            return (date >= a && date <= b) || (date >= x && date <= y);
        }
    });
});
jQuery(function($) {
    $("#daterange").daterangepicker({
        isInvalidDate: function(date) {
            var dateRanges = [
                { 'start': moment('2017-10-10'), 'end': moment('2017-10-15') },
                { 'start': moment('2017-10-25'), 'end': moment('2017-10-30') },
                { 'start': moment('2017-11-10'), 'end': moment('2017-11-15') },
                { 'start': moment('2017-11-25'), 'end': moment('2017-11-30') },
                { 'start': moment('2017-12-10'), 'end': moment('2017-12-15') },
                { 'start': moment('2017-12-25'), 'end': moment('2017-12-30') },
                { 'start': moment('2018-01-10'), 'end': moment('2018-01-15') },
                { 'start': moment('2018-01-25'), 'end': moment('2018-01-30') },
                { 'start': moment('2018-02-10'), 'end': moment('2018-02-15') },
                { 'start': moment('2018-02-25'), 'end': moment('2018-02-30') }
            ];
            return dateRanges.reduce(function(bool, range) {
                return bool || (date >= range.start && date <= range.end);
            }, false);
        }
    });
});