Validate reservation entry and exit range. Bootstrap datepicker

1

My problem is basic. I have a reservation system where enter the date of entry and exit. I have validated that the departure date can not be less than the entry date and the entry date can not be greater than the departure date and when they modify the entry date, the exit date is reset to avoid inconvenience. The scare is that I need my minimum departure date one day more than the entry date. That is, if I select the date of entry for 20 the minimum date for output should be 21. Try using startdate +1 but it does not work since my departure date is defined according to the input. I am currently working that the departure date starts at the same as the entry, I need it to be a day after the entry.

I think my problem is in this part "getDate (selected)". I hope you can help me.

      <script type="text/javascript">

 $(function () {

 var getDate = function (input) {
    return new Date(input.date.valueOf());
 }

 $('#entrada').datepicker({
    format: "dd/mm/yyyy",
    language: 'es',
    startDate: '+5d',
    endDate: '+35d',
    autoclose: true,
});
var a = $('#entrada').datepicker("getDate");
$('#salida').datepicker({
    startDate: '+6d',
    format: "dd/mm/yyyy",
    language: "es",

    endDate: '+36d',
    autoclose: true
});

$('#entrada').datepicker({

  }).on('changeDate',
    function (selected) {
        $('#salida').datepicker('clearDates');
        $('#salida').datepicker('setStartDate', getDate(selected));
    });

});
</script>

<input type="text" name="entrada" id="entrada" value=""> 
<input type="text" name="salida" id="salida" value="" > 
    
asked by MSL 18.03.2018 в 02:29
source

1 answer

3

If you want to add a day to the check-in date, use

var date2 = $('#entrada').datepicker('getDate', '+1d');

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" /><link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/css/bootstrap-datepicker.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.js"></script>
<script type="text/javascript">

 $(function () {

 var getDate = function (input) {
    return new Date(input.date.valueOf());
 }

 $('#entrada').datepicker({
    format: "dd/mm/yyyy",
    language: 'es',
    startDate: '+5d',
    endDate: '+35d',
    autoclose: true,
});
var a = $('#entrada').datepicker("getDate");
$('#salida').datepicker({
    startDate: '+6d',
    format: "dd/mm/yyyy",
    language: "es",
    endDate: '+36d',
    autoclose: true
});

 $('#entrada').datepicker().on('changeDate', function (ev) {
  //Obtenemos la fecha de entrada
  var date2 = $('#entrada').datepicker('getDate'); 
  //Sumamos un día a la fecha de entrada
  date2.setDate(date2.getDate()+1); 
   //Asignamos la nueva fecha al datepicker de salida
  $('#salida').datepicker('setDate', date2);
});

});
</script>

<input type="text" name="entrada" id="entrada" value=""> 
<input type="text" name="salida" id="salida" value="" >
    
answered by 18.03.2018 / 10:58
source