У меня есть онлайн-форма записи в моем Laravel заявлении с некоторыми заполненными Select Doctor
и datepicker
.
Предположим, врач A
будет доступен в клинике c в субботу, понедельник и Среда. А доктор B
будет доступен в воскресенье, вторник, четверг. Таким образом, пока любой пациент выбирает врача A
из поля Select Doctor
, все даты с субботой, понедельником и средой будут активированы в календаре datepicker
, а другие даты будут отключены.
Я уже деактивированы некоторые выбранные даты календаря datepicker
. Но нельзя отключить дату для выбранных дней в datepicker
.
html
<input class="form-control" id="appointment_datepicker" name="appointment_datepicker" type="text" placeholder="Select Date" value="{{ $user->appointment_datepicker or old('appointment_datepicker') }}">
ajax
$.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;
}
Календарь
Как решить проблему? Кто-нибудь, пожалуйста, помогите? Заранее спасибо.