Php 在日期选择器中禁用选定日期的日期
我在我的Laravel申请表中有一张在线预约表,上面有一些精选医生和日期选择器 假设A医生周六、周一和周三都在诊所。B医生周日、周二、周四有空。因此,当任何患者从“选择医生”字段中选择医生A时,日期选择器日历中的所有星期六、星期一和星期三日期将被激活,其他日期将被停用 我已经停用了datepicker日历的某些选定日期。但无法在datepicker中禁用所选日期的日期 html 路线 控制器 历法Php 在日期选择器中禁用选定日期的日期,php,jquery,laravel,laravel-5,datepicker,Php,Jquery,Laravel,Laravel 5,Datepicker,我在我的Laravel申请表中有一张在线预约表,上面有一些精选医生和日期选择器 假设A医生周六、周一和周三都在诊所。B医生周日、周二、周四有空。因此,当任何患者从“选择医生”字段中选择医生A时,日期选择器日历中的所有星期六、星期一和星期三日期将被激活,其他日期将被停用 我已经停用了datepicker日历的某些选定日期。但无法在datepicker中禁用所选日期的日期 html 路线 控制器 历法 如何解决这个问题?有人帮忙吗?提前感谢。从第一眼看,似乎是日期不匹配的问题。如果使用下面的示例,
如何解决这个问题?有人帮忙吗?提前感谢。从第一眼看,似乎是日期不匹配的问题。如果使用下面的示例,您可以看到来自API的数据应该是什么样子的 var msg=[2020-05-11]; $“约会\日期选择器”。日期选择器{ beforeShowDay:functiondate{ var day=jQuery.datepicker.formatDate'yy-mm-dd',date; 返回[msg.indexOfday==-1] } };
这里每天都有一个固定的数字,比如
Sunday = 0
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
所以一个日数数组:var arr=[1,2,3];从控制器返回,这些日期将在日期选择器中处于活动状态
只需在Ajax中更改以下代码
阿贾克斯
因此,这里只有星期一、星期二和星期三在日期选择器日历中处于活动状态
是jquery datepicker吗?@EhsanMahmud…是的,你能提供API响应吗?@EhsanMahmud…我是新来的。请告诉我查找API响应的过程好吗?……我可以成功停用数组中的特定日期……但无法停用特定日期。希望您理解我的问题。我已经用API responseSo更新了我的帖子,病人选择了医生,日历也改变了,这就是你想要做的吗?不!!。。。。从“管理”面板中,我为每位医生选择了“休息日”……患者将在日历中看到所选医生的“休息日”为“停用”……因此,我想知道,如何将这些“休息日”转换为“日期选择器日历”中的“停用日期”……嗯,老实说,你的问题并没有真正反映出你在帖子中介绍的内容。看起来你只是不能禁用日期。这听起来更像是一项任务。你能指出你在哪里发送休息日的控制器,以及它在ajax调用中的接收方式吗?我已经用控制器和路由更新了我的帖子。请看一下,现在我明白你想要什么了。你在帖子上写的,意味着你已经有了来自数据库表的日期,你实际上想要过滤的是天数,而不是日期。这就是为什么需要查看api响应的原因:。
$.ajax({
url:"{{ url('/filter_available_date') }}",
type: 'GET',
data: {_token :token, branch_id_appointment : branch_id_appointment, doctor_id_appointment : doctor_id_appointment},
success:function(msg){
$('#appointment_datepicker').datepicker('option', 'beforeShowDay', function(date){
var day = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ msg.indexOf(day) == -1 ] //here msg is the Array of selected Dates which are activated in the datepicker calendar
});
}
});
Route::get('/filter_available_date','frontendAppointmentController@filter_available_date');
public function filter_available_date(Request $request)
{
$branch_id = $request->branch_id_appointment;
$doctor_id = $request->doctor_id_appointment;
$query = DB::table('service_doctors');
$query->select('doctor_id','inactive_dates_in_this_month');
if($branch_id != '0')
$query->where('branch_id','=', $branch_id);
if($doctor_id != NULL)
$query->where('doctor_id','=', $doctor_id);
$result_time = $query->get();
$result = [$result_time[0]->inactive_dates_in_this_month];
$final_result= explode(',',$result[0]);
return $final_result;
}
Sunday = 0
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
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)];
});