jQuery日期选择器 - 启用特定日期 - 代码无效

7

我真的想不出为什么这段代码不能工作。我相信我在做某些非常愚蠢的事情,但我就是找不到它!我目前只是试图禁用所有日期栏中的“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>
2个回答

20

尝试

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分钟后打勾的。再次感谢。 - user2014175
谢谢。这个答案让我的一天都很愉快!当我的控制器以另一种格式返回一堆日期时,我必须解决一些小问题,但是一旦我能够复制数组,就很容易了。干杯! - Matias
当我尝试上述操作时,我的控制台会显示“Uncaught TypeError: Cannot read property 'getDate' of undefined”这个错误消息。我做错了什么吗? - pourmesomecode
好的。谢谢你,@Arun。 - Pratik Kamani

3

试试这个

$(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});
    })

希望这可以帮助到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接