Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jQuery daterange选择器更改为不允许包含禁用日期的日期范围_Javascript_Jquery_Date_Jquery Ui_Jquery Ui Datepicker - Fatal编程技术网

Javascript 将jQuery daterange选择器更改为不允许包含禁用日期的日期范围

Javascript 将jQuery daterange选择器更改为不允许包含禁用日期的日期范围,javascript,jquery,date,jquery-ui,jquery-ui-datepicker,Javascript,Jquery,Date,Jquery Ui,Jquery Ui Datepicker,我已经创建了一个jQuery日期范围选择器。我可以选择日期范围并在文本框中显示它们。现在我需要的是,我需要禁用某些日期,并为这些日期分配不同的类 E.g. I must be able to give class A to April 2, class B to April 4 etc. 我尝试了谷歌搜索时得到的结果,但没有任何帮助。我想做的是传递一些应该分配给这些日期的日期和类。该类应分配给这些日期,并且我必须有启用或禁用这些日期的选项 接下来我要做的是,如果在两个日期之间有一个禁用的日期,

我已经创建了一个jQuery日期范围选择器。我可以选择日期范围并在文本框中显示它们。现在我需要的是,我需要禁用某些日期,并为这些日期分配不同的类

E.g. I must be able to give class A to April 2, class B to April 4 etc.
我尝试了谷歌搜索时得到的结果,但没有任何帮助。我想做的是传递一些应该分配给这些日期的日期和类。该类应分配给这些日期,并且我必须有启用或禁用这些日期的选项

接下来我要做的是,如果在两个日期之间有一个禁用的日期,则无法选择该范围

E.g. Suppose I want to select April 2 to April 7 and April 5 is a disabled date. 
Then I could be able to select either April 2 to April 4 or April 6 to April 7.
这意味着只能选择一个范围。请帮忙解决这个问题


请找到小提琴:

您必须创建两个数组,一个用于将css类映射到您要禁用的每个日期
类:Date
,另一个用于将css类映射到您要赋予特殊类的日期,然后:

  • 在ShowDay之前的
    中,检查日期是否在禁用日期数组中,如果找到它,请使用关联的类并返回false,例如:
    [false,“classA”]
    ,如果没有,请检查特殊数组并返回带有true的类,否则只需执行您现在正在执行的操作即可
  • 在选择的
    内,检查所选范围是否包括数组中的任何日期,并相应地采取行动
  • 然后在
    class:date
    数组中,您可以添加任何希望用自己的类禁用的
    class:date
    ,代码将处理它
  • 完整的工作解决方案

    注:

  • 该代码禁用4月22日和5月15日(尝试播放日期)
  • 该法典为4月15日和5月10日规定了一个特殊的课程
  • css类作为
    td
    上的
    背景色应用,它不能正确显示,您必须修改选择器的css才能执行此操作
  • 让我提供这个答案的参考是

  • 您需要在ShowDay之前实现
    onSelect
    功能,如以下演示所示:

    代码可能看起来令人畏惧,但事实并非如此。基本情况如下:

    日期配置变量
    dateConfig

    日期信息存储在一个关联数组中,我们在其中存储日期是否可选择和/或其CSS类名

    在展会之前

    date
    为调用函数的日期
    date1
    作为开始日期文本框中的日期
    date2
    作为结束日期文本框中的日期

    • 如果日期
      不可选择,则
      return
      [假,日期类或“”][/code>
    • 如果用户选择了
      date1
      • 如果用户选择了
        date2
        ,并且
        date
        介于
        date1…date2
        之间,则
        返回
        [正确,所选类别]
      • 如果
        date
        小于
        date1
        ,则
        返回
        [false,date\u class或”“]
        (不允许第二个日期小于第一个日期)
      • 如果
        date
        等于
        date1
        ,则
        返回
        [正确,所选类别]
        (允许第二个日期与第一个相同)
      • return
        [正确,日期\类别或“”]
    onSelect

    date1
    作为开始日期文本框中的日期 让
    date2
    作为结束日期文本框中的日期

    • 如果用户选择了
      date1
      date2
      ,则
      • 迭代所有不可选择的日期
      • 如果不可选择的日期介于日期1到日期2之间,则抛出错误

    您是说多选吗?比如@CJRamki不,我不是在找这个。我希望它出现在我的UI中。为了使问题更清楚,我编辑了我的问题。