我正在尝试使用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>
好像没什么用,有什么办法解决吗。干杯。
4条答案
按热度按时间uidvcgyl1#
看起来你在一个输入上调用了
datepicker
两次。这有点难以理解你的代码,但是如果你重新组织它并删除第二个datepicker
调用,一切都应该正常:查看这篇文章:disable-dates-in-datepicker
svmlkihl2#
如果你想让你的电脑自动关机,你可以按照下面的步骤来做:
上述选项将仅启用星期日,而所有其他日期将被禁用。希望这能帮上忙。
jm81lzqq3#
umuewwlo4#
要将答案翻转为 available dates,您现在可以使用javascript
includes()
并返回数组中的bool值。数组中的第二个元素是css类,第三个参数是可选的工具提示(https://api.jqueryui.com/datepicker/#option-beforeShowDay)
值得一提的是,截至2023年,Jquery UI即将过时,但它仍然是一个相当不错的工具集。