JQuery UI – dateselect器,禁用特定的date

我试图使用JQuery Ui禁用特定的date。 但是,我没有运气,这是我的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <link rel="stylesheet" type="text/css" href="development-bundle/themes/ui-lightness/jquery.ui.all.css"> <style type="text/css"> .ui-datepicker .preBooked_class { background:#111111; } .ui-datepicker .preBooked_class span { color:#999999; } </style> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>jQuery UI Datepicker</title> <script type="text/javascript" src="development-bundle/jquery-1.7.1.js"></script> <script type="text/javascript" src="development-bundle/ui/jquery.ui.core.js"></script> <script type="text/javascript" src="development-bundle/ui/jquery.ui.widget.js"></script> <script type="text/javascript" src="development-bundle/ui/jquery.ui.datepicker.js"></script> 

实例化datepicker对象

 <script type="text/javascript"> $(function() { $( "#iDate" ).datepicker({ dateFormat: 'dd MM yy', beforeShowDay: checkAvailability }); }) 

获取在日历中禁用的date

  var unavailableDates = ["9-3-2012","14-3-2012","15-3-2012"]; function unavailable(date) { dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); if ($.inArray(dmy, unavailableDates) == -1) { return [true, ""]; } else { return [false,"","Unavailable"]; } } $('#iDate').datepicker({ beforeShowDay: unavailable }); </script> </head> <body> <input id="iDate"> </body> </html> 

它似乎没有工作,任何想法如何我可以解决这个问题。 干杯。

它看起来像你在一个input上调用datepicker两次。 它很难跟踪你的代码,但如果你重新组织它并删除第二个datepicker调用,一切都应该工作:

 <script type="text/javascript"> var unavailableDates = ["9-3-2012", "14-3-2012", "15-3-2012"]; function unavailable(date) { dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear(); if ($.inArray(dmy, unavailableDates) == -1) { return [true, ""]; } else { return [false, "", "Unavailable"]; } } $(function() { $("#iDate").datepicker({ dateFormat: 'dd MM yy', beforeShowDay: unavailable }); }); </script> 

例如: http : //jsfiddle.net/daCrosby/JjPrU/334/

有用的答案..如果你想禁用一个特定的日子,你可以做如下:

  $scope.dateOptions = { beforeShowDay: unavailable }; function unavailable(date) { if (date.getDay() === 0) { return [true, ""]; } else { return [false, "", "Unavailable"]; } } 

以上将只启用星期日,其他日子将被禁用。 希望这可以帮助。