如何在 php codeigniter 中为 "enddate" 禁用之前选择的 "startdate " 的日期
How to Disable previous dates of picked "startdate " for "enddate" in php codeigniter
这里我有两个输入“startdate”和“enddate”,我需要为“startdate”禁用当前日期的前一个日期,并为“enddate”禁用任何选择的“startdate”的前一个日期,我在下面使用jquery 但我收到错误 Uncaught TypeError: $(...).datepicker is not a function
,如果有人能帮助我,我将不胜感激。
这是视图
<div class="form-group col-md-4">
<label for="pwd">Start Date</label>
<input type="date" class="form-control" id='Sdate' name='Sdate' min="<?php echo date('Y-m-d'); ?>" value="<?php echo set_value('Sdate'); ?>">
<div class="alert-danger"><?php echo form_error('Sdate'); ?></div>
</div>
<div class="form-group col-md-4">
<label for="pwd">End Date</label>
<input type="date" class="form-control" id='Edate' name='Edate' value="<?php echo set_value('Edate'); ?>">
<div class="alert-danger"><?php echo form_error('Edate'); ?></div>
</div>
这是脚本
<script>
$(document).ready(function(){
var dateToday = new Date();
var dates = $("#Sdate, #tEdate").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
minDate: "<?php echo date('Y-m-d'); ?>",
onSelect: function(selectedDate) {
var option = this.id == "Sdate" ? "minDate" : "maxDate",
instance = $(this).data("incidents_add"),
date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
});
</script>
输入类型日期不需要jquery函数.datepicker,如果你想使用它,你需要jquery-ui加载。如果您将使用输入类型日期,那么您实际上并不需要 .datepicker 函数。这是我的工作代码。
https://jsfiddle.net/m3doh5x4/3/
$(document).ready(function(){
var today = new Date();
var sdate = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+(today.getDate() < 10 ? '0'+today.getDate() : today.getDate());
$('#Sdate').prop('min', sdate);
$('#Sdate').on('change', function(){
$('#Edate').prop('min', $(this).val() );
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="form-group col-md-4">
<label for="pwd">Start Date</label>
<input type="date" class="form-control" id='Sdate' name='Sdate' min='' value="">
<div class="alert-danger"><?php echo form_error('Sdate'); ?></div>
</div>
<div class="form-group col-md-4">
<label for="pwd">End Date</label>
<input type="date" class="form-control" id='Edate' name='Edate' value="<?php echo set_value('Edate'); ?>">
<div class="alert-danger"><?php echo form_error('Edate'); ?></div>
</div>
这里我有两个输入“startdate”和“enddate”,我需要为“startdate”禁用当前日期的前一个日期,并为“enddate”禁用任何选择的“startdate”的前一个日期,我在下面使用jquery 但我收到错误 Uncaught TypeError: $(...).datepicker is not a function
,如果有人能帮助我,我将不胜感激。
这是视图
<div class="form-group col-md-4">
<label for="pwd">Start Date</label>
<input type="date" class="form-control" id='Sdate' name='Sdate' min="<?php echo date('Y-m-d'); ?>" value="<?php echo set_value('Sdate'); ?>">
<div class="alert-danger"><?php echo form_error('Sdate'); ?></div>
</div>
<div class="form-group col-md-4">
<label for="pwd">End Date</label>
<input type="date" class="form-control" id='Edate' name='Edate' value="<?php echo set_value('Edate'); ?>">
<div class="alert-danger"><?php echo form_error('Edate'); ?></div>
</div>
这是脚本
<script>
$(document).ready(function(){
var dateToday = new Date();
var dates = $("#Sdate, #tEdate").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
minDate: "<?php echo date('Y-m-d'); ?>",
onSelect: function(selectedDate) {
var option = this.id == "Sdate" ? "minDate" : "maxDate",
instance = $(this).data("incidents_add"),
date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
});
</script>
输入类型日期不需要jquery函数.datepicker,如果你想使用它,你需要jquery-ui加载。如果您将使用输入类型日期,那么您实际上并不需要 .datepicker 函数。这是我的工作代码。
https://jsfiddle.net/m3doh5x4/3/
$(document).ready(function(){
var today = new Date();
var sdate = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+(today.getDate() < 10 ? '0'+today.getDate() : today.getDate());
$('#Sdate').prop('min', sdate);
$('#Sdate').on('change', function(){
$('#Edate').prop('min', $(this).val() );
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="form-group col-md-4">
<label for="pwd">Start Date</label>
<input type="date" class="form-control" id='Sdate' name='Sdate' min='' value="">
<div class="alert-danger"><?php echo form_error('Sdate'); ?></div>
</div>
<div class="form-group col-md-4">
<label for="pwd">End Date</label>
<input type="date" class="form-control" id='Edate' name='Edate' value="<?php echo set_value('Edate'); ?>">
<div class="alert-danger"><?php echo form_error('Edate'); ?></div>
</div>