0015 0015 - 9 months ago 31
jQuery Question

Datetime picker validation start date should be less than end date not working


Jquery Date time picker validation start date should be less than end date, and my current code is not working




$(document).ready(function(){
$("#startdate").datetimepicker({
format:'Y-m-d H:i:s',
onSelect: function (selected) {
var dt = new Date(selected);
dt.setDate(dt.getDate() + 1);
$("#enddate").datetimepicker("option", "minDate", dt);
}
});
$("#enddate").datetimepicker({
format:'Y-m-d H:i:s',
onSelect: function (selected) {
var dt1 = new Date(selected);
dt1.setDate(dt1.getDate() - 1);
$("#startdate").datetimepicker("option", "maxDate", dt1);
}
});
});

<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<label >Starts ON</label>
<input id="startdate" type="text" placeholder="YYYY-MM-DD HH:MM:SS" class="linecons-calendar"/>
<label>Ends ON</label>
<input id="enddate" type="text" placeholder="YYYY-MM-DD HH:MM:SS" class="linecons-calendar"/>






I am not able to validate onselect function is not getting triggered

Answer Source

Try this. Its working for me.

var startDate;
         $("#startdate").datetimepicker({
                     timepicker:true,
                     closeOnDateSelect:false,
                     closeOnTimeSelect: true,
                     initTime: true,
                     format: 'd-m-Y H:m',
                     minDate: 0,
                     roundTime: 'ceil',
                     onChangeDateTime: function(dp,$input){
                               startDate = $("#startdate").val();
                                                           }
                                                           });
        $("#enddate").datetimepicker({
                     timepicker:true,
                     closeOnDateSelect:false,
                     closeOnTimeSelect: true,
                     initTime: true,
                     format: 'd-m-Y H:m',
                     onClose: function(current_time, $input){
                            var endDate = $("#enddate").val();
                            if(startDate>endDate){
                                   alert('Please select correct date');
                             }
             }
              });