首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的起始日期选择框中,我希望显示介于当前会话日期范围之间的日期范围

在我的起始日期选择框中,我希望显示介于当前会话日期范围之间的日期范围
EN

Stack Overflow用户
提问于 2019-09-07 14:58:41
回答 2查看 54关注 0票数 1

在我当前的登录会话中,我有

代码语言:javascript
复制
 var start_date = "<?php $this->session->userdata('start_date'); ?>";
 var end_date   = "<?php $this->session->userdata('end_date'); ?>";

例如:

代码语言:javascript
复制
$start_date = 2019-04-01 
$end_date   = 2020-03-31

在“我的起始日期”选择框中,选择“期外日期”,我只想选择当前期次日期之间的日期。

我的代码:

代码语言:javascript
复制
<div class="row">
                 <div class="col-6">
                    <div class="form-group">
                       <label >From Date</label>
                       <input type="text" data-provide="datepicker" class="form-control" id="from_date_bk" 
                          name="from_date_bk" placeholder="DD/MM/YYYY" data-date-end-date="0d">
                    </div>
                 </div>

                <div class="col-6">
                  <div class="form-group">
                     <label >To Date</label>
                     <input type="text" data-provide="datepicker" class="form-control" id="to_date_bk" 
                        name="to_date_bk" data-date-end-date="0d">
                   </div>
                </div>
            </div>  

<script>
   $(document).ready(function() {
    var start_date = "<?php $this->session->userdata('start_date'); ?>";
    var end_date   = "<?php $this->session->userdata('end_date'); ?>";
    var date       = new Date();
    var today      = new Date(date.getFullYear(), date.getMonth(), date.getDate());
    $('#from_date_bk').datepicker({
            uiLibrary: 'bootstrap4',
            format:'dd/mm/yyyy',
              todayHighlight: true,
            autoclose: true,
            onClose: function( selectedDate )
            {
                $( "#to_date_bk" ).datepicker( "option", "minDate", selectedDate );
            }
        });
     $('#to_date_bk').datepicker({
      uiLibrary: 'bootstrap4',
            format:'dd/mm/yyyy',
              todayHighlight: true,
            autoclose: true,
            onClose: function( selectedDate )
        {
            $( "#from_date_bk" ).datepicker( "option", "maxDate", selectedDate );
        }
    });
    $('#to_date_bk').datepicker( 'setDate', today );
  });
</script> 

如何选择介于当前期次日期之间的日期。

EN

回答 2

Stack Overflow用户

发布于 2019-09-07 15:22:26

您可以像这样使用minDatemaxDate

代码语言:javascript
复制
minDate: moment("01/04/2019"),
maxDate: moment("31/03/2020"),
票数 2
EN

Stack Overflow用户

发布于 2019-09-07 17:13:23

如果您不介意在输入上使用yy/mm/dd日期格式,您可以尝试如下所示:

代码语言:javascript
复制
<script>
    <?php
    $start_date = $this->session->userdata('start_date'); // example output : '2019-04-01'
    $end_date   = $this->session->userdata('end_date'); // example output : '2020-03-31'
    ?>
    $(document).ready(function() {
        var start_date = "<?php echo date("Y/m/d", strtotime($start_date)); ?>";
        var end_date = "<?php echo date("Y/m/d", strtotime($end_date)); ?>";
        var date = new Date();
        var today = date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + date.getDate(); // month is 0 based index, so it have to be +1 to get current month, example output : '2019-09-07'
        $('#from_date_bk').datepicker({
            uiLibrary: 'bootstrap4',
            dateFormat: 'yy/mm/dd',
            todayHighlight: true,
            autoclose: true,
            minDate: start_date,
            maxDate: end_date,
            onClose: function(selectedDate) {
                if (selectedDate) {
                    $("#to_date_bk").datepicker("option", "minDate", selectedDate);
                }
            }
        });
        $('#to_date_bk').datepicker({
            uiLibrary: 'bootstrap4',
            dateFormat: 'yy/mm/dd',
            todayHighlight: true,
            autoclose: true,
            minDate: start_date,
            maxDate: end_date,
            onClose: function(selectedDate) {
                if (selectedDate) {
                    $("#from_date_bk").datepicker("option", "maxDate", selectedDate);
                }
            }
        });
        $('#to_date_bk').datepicker('setDate', today);
    });
</script>

这将设置:

  • 两个输入:提供的范围$start_date作为起始范围,默认情况下$end_date作为结束范围。
  • #from_date_bk输入:填充#to_date_bk后,范围从$start_date#to_date_bk
  • #to_date_bk输入:填充#from_date_bk后从#from_date_bk$end_date的范围。

我已经在onClose中添加了if条件,所以如果选择的日期为空,它不会设置相反的日期选择器规则。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57831448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档