I am trying to make multiple date & time picker input using Bootstrap datetimepicker. But when I click one time input other time inputs will automatically change according to the current time or date input value. Anyone can help me to do this?
View
<div class="row">
<div class="customer_records">
<div class="row">
<div class="col-md-6 form-group">
<label>Employee</label>
<select name="employee" class="form-control">
@foreach($employees as $employee)
<option value="{{$employee->id}}" {{old('employee') == $employee->id ? 'selected' : ''}}>{{$employee->name}}</option>
@endforeach
</select>
@if($errors->has('employee'))
<em class="invalid-feedback">
{{ $errors->first('employee') }}
</em>
@endif
</div>
<div class="col-md-6 form-group">
<!-- Date -->
<div class="form-group">
<label>Date:</label>
<div class="input-group date" id="reservationdate1" data-target-input="nearest">
<input type="text" name="date" class="form-control datetimepicker-input" data-target="#reservationdate"/>
<div class="input-group-append" data-target="#reservationdate1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
@if($errors->has('date'))
<em class="invalid-feedback">
{{ $errors->first('date') }}
</em>
@endif
</div>
</div>
<div class="col-md-6">
<div class="bootstrap-timepicker">
<div class="form-group">
<label>Start time</label>
<div class="input-group date" id="timepicker1" data-target-input="nearest">
<input type="text" name="start_time" class="form-control datetimepicker-input" data-target="#timepicker1"/>
<div class="input-group-append" data-target="#timepicker1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="far fa-clock"></i></div>
</div>
</div>
<!-- /.input group -->
@if($errors->has('start_time'))
<em class="invalid-feedback">
{{ $errors->first('start_time') }}
</em>
@endif
</div>
<!-- /.form group -->
</div>
</div>
<div class="col-md-6">
<div class="bootstrap-timepicker">
<div class="form-group">
<label>End time</label>
<div class="input-group date" id="timepicker2" data-target-input="nearest">
<input type="text" name="end_time" class="form-control datetimepicker-input" data-target="#timepicker2"/>
<div class="input-group-append" data-target="#timepicker2" data-toggle="datetimepicker">
<div class="input-group-text"><i class="far fa-clock"></i></div>
</div>
</div>
<!-- /.input group -->
@if($errors->has('end_time'))
<em class="invalid-feedback">
{{ $errors->first('end_time') }}
</em>
@endif
</div>
<!-- /.form group -->
</div>
</div>
<div class="col-md-6 form-group">
<label>Service Area</label>
<select name="service_area" class="form-control">
<option value="GRILL" {{old('service_area') == 'GRILL' ? 'selected' : ''}}>GRILL</option>
<option value="PANS" {{old('service_area') == 'PANS' ? 'selected' : ''}}>PANS</option>
<option value="PASS" {{old('service_area') == 'PASS' ? 'selected' : ''}}>PASS</option>
<option value="FRYER" {{old('service_area') == 'FRYER' ? 'selected' : ''}}>FRYER</option>
<option value="KICHAND" {{old('service_area') == 'KICHAND' ? 'selected' : ''}}>KICHAND</option>
<option value="PRP-OVEN" {{old('service_area') == 'PRP-OVEN' ? 'selected' : ''}}>PRP-OVEN</option>
<option value="OVEN" {{old('service_area') == 'OVEN' ? 'selected' : ''}}>OVEN</option>
<option value="DRIVER" {{old('service_area') == 'DRIVER' ? 'selected' : ''}}>DRIVER</option>
</select>
@if($errors->has('service_area'))
<em class="invalid-feedback">
{{ $errors->first('service_area') }}
</em>
@endif
</div>
<div class="col-md-10"></div>
</div>
<a class="extra-fields-customer" href="#">Add More Customer</a>
</div>
<div class="customer_records_dynamic"></div>
</div>
JS
//Timepicker
$('#timepicker1').datetimepicker({
use24hours: true,
format: 'HH:mm'
});
$('#timepicker2').datetimepicker({
use24hours: true,
format: 'HH:mm'
})
$('#reservationdate1').datetimepicker({
// format: 'd-M-yyyy'
format: 'YYYY-MM-DD',
});
$('.extra-fields-customer').click(function() {
$('.customer_records').clone().appendTo('.customer_records_dynamic');
$('.customer_records_dynamic .customer_records').addClass('single remove');
$('.single .extra-fields-customer').remove();
$('.single').append('<a href="#" class="remove-field btn-remove-customer">Remove Fields</a>');
$('.customer_records_dynamic > .single').attr("class", "remove");
$('.customer_records_dynamic .date').each(function() {
var count = 1;
// var fieldname = $(this).attr("name");
var fieldname = $(this).attr('id');
$(this).attr('id', fieldname + count);
$(this).attr('data-target', '#'+fieldname + count);
// console.log($(this).attr('data-target', '#'+fieldname + count));
$(this).append(" <script>$('#timepicker1'+count).datetimepicker({use24hours: true, format: 'HH:mm'});<\/script>");
count++;
});
});
$(document).on('click', '.remove-field', function(e) {
$(this).parent('.remove').remove();
e.preventDefault();
});
``
Library : I am trying to make multiple date & time picker input using Bootstrap datetimepicker. But when I click one time input other time inputs will automatically change according to the current time or date input value. Anyone can help me to do this?
View
<div class="row">
<div class="customer_records">
<div class="row">
<div class="col-md-6 form-group">
<label>Employee</label>
<select name="employee" class="form-control">
@foreach($employees as $employee)
<option value="{{$employee->id}}" {{old('employee') == $employee->id ? 'selected' : ''}}>{{$employee->name}}</option>
@endforeach
</select>
@if($errors->has('employee'))
<em class="invalid-feedback">
{{ $errors->first('employee') }}
</em>
@endif
</div>
<div class="col-md-6 form-group">
<!-- Date -->
<div class="form-group">
<label>Date:</label>
<div class="input-group date" id="reservationdate1" data-target-input="nearest">
<input type="text" name="date" class="form-control datetimepicker-input" data-target="#reservationdate"/>
<div class="input-group-append" data-target="#reservationdate1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
@if($errors->has('date'))
<em class="invalid-feedback">
{{ $errors->first('date') }}
</em>
@endif
</div>
</div>
<div class="col-md-6">
<div class="bootstrap-timepicker">
<div class="form-group">
<label>Start time</label>
<div class="input-group date" id="timepicker1" data-target-input="nearest">
<input type="text" name="start_time" class="form-control datetimepicker-input" data-target="#timepicker1"/>
<div class="input-group-append" data-target="#timepicker1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="far fa-clock"></i></div>
</div>
</div>
<!-- /.input group -->
@if($errors->has('start_time'))
<em class="invalid-feedback">
{{ $errors->first('start_time') }}
</em>
@endif
</div>
<!-- /.form group -->
</div>
</div>
<div class="col-md-6">
<div class="bootstrap-timepicker">
<div class="form-group">
<label>End time</label>
<div class="input-group date" id="timepicker2" data-target-input="nearest">
<input type="text" name="end_time" class="form-control datetimepicker-input" data-target="#timepicker2"/>
<div class="input-group-append" data-target="#timepicker2" data-toggle="datetimepicker">
<div class="input-group-text"><i class="far fa-clock"></i></div>
</div>
</div>
<!-- /.input group -->
@if($errors->has('end_time'))
<em class="invalid-feedback">
{{ $errors->first('end_time') }}
</em>
@endif
</div>
<!-- /.form group -->
</div>
</div>
<div class="col-md-6 form-group">
<label>Service Area</label>
<select name="service_area" class="form-control">
<option value="GRILL" {{old('service_area') == 'GRILL' ? 'selected' : ''}}>GRILL</option>
<option value="PANS" {{old('service_area') == 'PANS' ? 'selected' : ''}}>PANS</option>
<option value="PASS" {{old('service_area') == 'PASS' ? 'selected' : ''}}>PASS</option>
<option value="FRYER" {{old('service_area') == 'FRYER' ? 'selected' : ''}}>FRYER</option>
<option value="KICHAND" {{old('service_area') == 'KICHAND' ? 'selected' : ''}}>KICHAND</option>
<option value="PRP-OVEN" {{old('service_area') == 'PRP-OVEN' ? 'selected' : ''}}>PRP-OVEN</option>
<option value="OVEN" {{old('service_area') == 'OVEN' ? 'selected' : ''}}>OVEN</option>
<option value="DRIVER" {{old('service_area') == 'DRIVER' ? 'selected' : ''}}>DRIVER</option>
</select>
@if($errors->has('service_area'))
<em class="invalid-feedback">
{{ $errors->first('service_area') }}
</em>
@endif
</div>
<div class="col-md-10"></div>
</div>
<a class="extra-fields-customer" href="#">Add More Customer</a>
</div>
<div class="customer_records_dynamic"></div>
</div>
JS
//Timepicker
$('#timepicker1').datetimepicker({
use24hours: true,
format: 'HH:mm'
});
$('#timepicker2').datetimepicker({
use24hours: true,
format: 'HH:mm'
})
$('#reservationdate1').datetimepicker({
// format: 'd-M-yyyy'
format: 'YYYY-MM-DD',
});
$('.extra-fields-customer').click(function() {
$('.customer_records').clone().appendTo('.customer_records_dynamic');
$('.customer_records_dynamic .customer_records').addClass('single remove');
$('.single .extra-fields-customer').remove();
$('.single').append('<a href="#" class="remove-field btn-remove-customer">Remove Fields</a>');
$('.customer_records_dynamic > .single').attr("class", "remove");
$('.customer_records_dynamic .date').each(function() {
var count = 1;
// var fieldname = $(this).attr("name");
var fieldname = $(this).attr('id');
$(this).attr('id', fieldname + count);
$(this).attr('data-target', '#'+fieldname + count);
// console.log($(this).attr('data-target', '#'+fieldname + count));
$(this).append(" <script>$('#timepicker1'+count).datetimepicker({use24hours: true, format: 'HH:mm'});<\/script>");
count++;
});
});
$(document).on('click', '.remove-field', function(e) {
$(this).parent('.remove').remove();
e.preventDefault();
});
I am using "https://tempusdominus.github.io/bootstrap-4/" library.