我正在尝试使用JQuery Ui禁用特定日期。但是,我没有运气,这是我的代码:
<!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 }); })
获取日历中要禁用的日期
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>
它似乎没有用,我知道如何解决这个问题。干杯。
好像您datepicker在一个输入上调用了两次。很难遵循您的代码,但是如果您重新组织代码并删除第二个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>