jQuery DatePicker - 启用特定日期 - 代码不起作用

Posted

技术标签:

【中文标题】jQuery DatePicker - 启用特定日期 - 代码不起作用【英文标题】:jQuery DatePicker - Enable Specific Day - Code Not Working 【发布时间】:2013-08-03 09:14:48 【问题描述】:

我终其一生都无法弄清楚为什么这段代码不起作用。我确定我在做一些非常愚蠢的事情,但我就是找不到!我目前只是试图禁用所有日期栏“7-8-2013”​​。对此的任何帮助将不胜感激。谢谢!

<!doctype html>


<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Calender Control Test</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>

var enableDays = ["7-8-2013"];


 $(function enableAllTheseDays(date) 
    var m = date.getMonth(), var d = date.getDate(), var y = date.getFullYear();
    for (i = 0; i < enableDays.length; i++) 
        if($.inArray((d+1) + '-' + m + '-' + y,enableDays) != -1) 
            return [true];
            
        
        return [false];


    $('#datepicker').datepicker(dateFormat: 'dd-mm-yy', beforeShowDay: enableAllTheseDays);

  </script>
</head>
<body>



<div id="datepicker"></div>


</body>
</html>

【问题讨论】:

【参考方案1】:

试试

jQuery(function()

    var enableDays = ["7-8-2013"];

    function enableAllTheseDays(date) 
        var sdate = $.datepicker.formatDate( 'd-m-yy', date)
        if($.inArray(sdate, enableDays) != -1) 
            return [true];
        
        return [false];
    

    $('#datepicker').datepicker(dateFormat: 'dd-mm-yy', beforeShowDay: enableAllTheseDays);
)

演示:Fiddle

【讨论】:

理想,非常感谢。我会在可以的时候打勾……在 7 分钟内。再次感谢 谢谢。这个答案让我很开心!当我的控制器以另一种格式返回一堆日期时不得不与一些未成年人问题作斗争,但是一旦我可以复制数组就很容易了。干杯! 当我尝试上述操作时,我在控制台中收到 Uncaught TypeError: Cannot read property 'getDate' of undefined 这条错误消息。是不是我做错了什么? 不错。谢谢@Arun【参考方案2】:

试试这个

$(document).ready()

    var enableDays = ["7-8-2013"];
    function enableAllTheseDays(date) 
            var sdate = $.datepicker.formatDate( 'd-m-yy', date)
            if($.inArray(sdate, enableDays) != -1) 
                return [true];
            
            return [false];
        

        $('#datepicker').datepicker(dateFormat: 'dd-mm-yy', beforeShowDay: enableAllTheseDays);
    )

希望对你有帮助

【讨论】:

以上是关于jQuery DatePicker - 启用特定日期 - 代码不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jQuery DatePicker - 启用特定日期 - 代码不起作用

Jquery Datepicker - 从 mysql 数据库启用日期

jQuery:启用/禁用日期选择器

Flutter:如何在 DatePicker 中仅启用特定日期的日期

yii 框架 - 当我在表单中启用 ClientValidation 时,jquery datepicker 不起作用

使用特定日期填充 jQuery Datepicker