简体   繁体   English

结束日期>开始日期日期选择器Javascript不起作用

[英]end date > startdate date picker Javascript not working

I want the date picker to display the values greater than start date only. 我希望日期选择器仅显示大于开始日期的值。 I have gone through many such examples but none explained why my code is not working. 我已经看过很多这样的示例,但是没有一个解释为什么我的代码无法正常工作。 :-/ :-/

Here are my JS & HTML snippets: 这是我的JS和HTML代码段:

 var start; $(document).ready(function() { $('#s_dt').datepicker({ startDate: new Date(), daysOfWeekDisabled: [0, 6], onSelect: function(date) { start = new Date(date); } }) .on('changeDate', function(ev) { $('#s_dt').datepicker('hide'); }); $('#e_dt').datepicker({ startDate: start, daysOfWeekDisabled: [0, 6], }) .on('changeDate', function(ev) { $('#e_dt').datepicker('hide'); }); }); 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <link href="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.2.0/css/datepicker.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.2.0/js/bootstrap-datepicker.js"></script> <div class="form-group"> <label class=" col-sm-3" for="title">Start Date</label> <div class="col-sm-9"> <input type='text' class="form-control startdate" id="s_dt" placeholder="Start Date" name="s_dt" /> </div> </div> <div class="form-group"> <label class="col-sm-3" for="title">End Date</label> <div class="col-sm-9"> <input type='text' class="form-control startdate" id="e_dt" placeholder="End Date" name="e_dt" /> </div> </div> 

 var start; $('#s_dt').datepicker({ startDate: new Date(), daysOfWeekDisabled: [0, 6], onSelect: function(date) { start = new Date(date); var selectedDate = $(this).datepicker("getDate"); var today = new Date().valueOf(); if (selectedDate.valueOf() < today) { $(this).val(""); } } }) $('#e_dt').datepicker({ setStartDate: new Date(), daysOfWeekDisabled: [0, 6], onSelect: function(date) { start = new Date(date); var s_date = $('#s_dt').datepicker("getDate"); var selectedDate = $(this).datepicker("getDate"); if (selectedDate.valueOf() < s_date) { $(this).val(""); } } }) 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <link href="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.2.0/css/datepicker.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet" /> <div class="form-group"> <label class=" col-sm-3" for="title">Start Date</label> <div class="col-sm-9"> <input type='text' class="form-control startdate" id="s_dt" placeholder="Start Date" name="s_dt" /> </div> </div> <div class="form-group"> <label class="col-sm-3" for="title">End Date</label> <div class="col-sm-9"> <input type='text' class="form-control startdate" id="e_dt" placeholder="End Date" name="e_dt" /> </div> </div> 

Bind all condition on onSelect inbuilt option of date-picker. 将所有条件绑定到日期选择器的onSelect内置选项上。

The example below shows the end date as 1 day after the start date. 下面的示例将结束日期显示为开始日期之后的1天。 You can make the end date by adding whatever number to end variable in end.setDate(st.getDate()+1); 您可以通过向end.setDate(st.getDate()+1); end变量添加任何数字来确定结束日期end.setDate(st.getDate()+1);

$(document).ready(function() {
        var start = new Date();
        var end = new Date();

        $("#s_dt").datepicker({
            startDate: start,
            daysOfWeekDisabled: [0, 6],
        })
        $("#s_dt").on('changeDate', function() {
            var st = new Date($("#s_dt").val());
            var end = new Date(st);
            end.setDate(st.getDate()+1);
            end.toLocaleDateString();

            $("#e_dt").datepicker({
                startDate: end,
                daysOfWeekDisabled: [0, 6],
            })

        })
          //basically this clears out the datepicker when you clear out the end date to select a new date. 
        $("#e_dt").on('changeDate',function(){
            $('#e_dt').datepicker("remove");
        })

    })

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM