【问题标题】:How to Disable previous dates of picked "startdate " for "enddate" in php codeigniter如何在php codeigniter中为“enddate”禁用选择的“startdate”的先前日期
【发布时间】:2021-01-16 16:57:25
【问题描述】:

这里我有两个输入“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>

【问题讨论】:

  • stackoverflow.com/a/4313112/9374330 请仔细阅读此答案。
  • 如何检查我的 jquery ?
  • 你在哪里提到过 jquery cdn.?
  • 在页脚文件中,我已经检查过了,但我没有发现任何重复的 jquery

标签: php jquery codeigniter date datepicker


【解决方案1】:

输入类型日期不需要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>

【讨论】:

  • 您好,我已经用您的解决方案解决了这个问题,但是现在突然开始日期选择器不再工作,并且可以选择当前日期的所有前几天。我想知道您是否可以再次帮助解决它
  • 你能给出一个示例代码来修复我们可以有一个新的起点,你现在有问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多