首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Jquery UI datepicker。禁用日期数组

Jquery UI datepicker。禁用日期数组
EN

Stack Overflow用户
提问于 2013-03-14 11:39:43
回答 6查看 155.5K关注 0票数 87

我一直在尝试寻找Jquery ui datepicker问题的解决方案,但我没有运气。这是我想要做的..。

我有一个应用程序,我正在执行一些复杂的PHP操作,以返回一个JSON日期数组,我希望将这些日期从Jquery UI Datepicker中阻塞出来。我返回这个数组:

代码语言:javascript
复制
["2013-03-14","2013-03-15","2013-03-16"]

有没有一种简单的方法可以简单地说:阻止来自datepicker的这些日期?

我已经阅读了UI文档,但我看不到任何对我有帮助的东西。有谁有什么想法吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-03-14 11:42:49

您可以使用beforeShowDay来完成此操作

以下示例禁用从2013年3月14日到2013年3月16日的日期

代码语言:javascript
复制
var array = ["2013-03-14","2013-03-15","2013-03-16"]

$('input').datepicker({
    beforeShowDay: function(date){
        var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
        return [ array.indexOf(string) == -1 ]
    }
});

演示:Fiddle

票数 217
EN

Stack Overflow用户

发布于 2014-05-01 03:15:09

IE8没有indexOf函数,所以我改用了jQuery inArray。

代码语言:javascript
复制
$('input').datepicker({
    beforeShowDay: function(date){
        var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
        return [$.inArray(string, array) == -1];
    }
});
票数 20
EN

Stack Overflow用户

发布于 2016-05-09 18:14:46

如果您还想阻止星期天(或其他日期)以及日期数组,我使用以下代码:

代码语言:javascript
复制
jQuery(function($){

    var disabledDays = [
       "27-4-2016", "25-12-2016", "26-12-2016",
       "4-4-2017", "5-4-2017", "6-4-2017", "6-4-2016", "7-4-2017", "8-4-2017", "9-4-2017"
    ];

   //replace these with the id's of your datepickers
   $("#id-of-first-datepicker,#id-of-second-datepicker").datepicker({
      beforeShowDay: function(date){
         var day = date.getDay();
         var string = jQuery.datepicker.formatDate('d-m-yy', date);
         var isDisabled = ($.inArray(string, disabledDays) != -1);

         //day != 0 disables all Sundays
         return [day != 0 && !isDisabled];
      }
   });
});   
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15400775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档