2 回答
TA贡献1856条经验 获得超11个赞
乍一看,这似乎是日期不匹配的问题。如果您使用下面的示例,您可以看到来自 API 的数据应该是什么样子。
var msg = ["2020-05-11"];
$('#appointment_datepicker').datepicker({
beforeShowDay: function(date) {
var day = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [msg.indexOf(day) == -1]
}
});
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js" integrity="sha256-eGE6blurk5sHj+rmkfsGYeKyZx3M4bG+ZlFyA7Kns7E=" crossorigin="anonymous"></script>
<input class="form-control" id="appointment_datepicker" name="appointment_datepicker" type="text" placeholder="Select Date">
TA贡献1779条经验 获得超6个赞
这里每天都有一个固定号码,例如
Sunday = 0
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
所以Array一天的数字(例如:var arr = [1, 2, 3];)从控制器返回,那一天将在datepicker.
只需在 Ajax 中更改以下代码
阿贾克斯
var arr = [1, 2, 3] //these are the array of days numbers return from controller
$('#appointment_datepicker').datepicker('option', 'beforeShowDay', function(date){
var day = date.getDay();
return [(arr.indexOf(day) != -1)];
});
所以只在这里Monday,Tuesday并将Wednesday在日历中激活datepicker。
- 2 回答
- 0 关注
- 178 浏览
添加回答
举报