Validar rango de entrada y salida de reserva. Bootstrap datepicker

publicado por: Anonymous

mi problema es algo básico. Tengo un sistema de reserva donde ingresan la fecha de entrada y salida. Tengo validado que la fecha de salida no puede ser menor a la de entrada y la de entrada no puede ser mayor a la de salida y cuando modifican la fecha de entrada se reseta la de salida para no tener inconvenientes. El asusto es que necesito que mi fecha salida minimo se un dia mas que el de entrada. Es decir si yo selecciono fecha de entrada para el 20 la fecha minima para salida deberia ser 21. Probe utilizando startdate +1 pero no me funciona ya que mi fecha de salida se va definiendo de acuerdo a la de entrada. Actualmente me esta funcionando que la fecha salida comienza en la misma que la de entrada, yo necesito que sea un dia posterior al de entrada.

creo que mi problema esta en esta parte “getDate(selected)”. Espero que puedan ayudarme.

      <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="" > 

solución

Si quieres añadir un día a la fecha de entrada utiliza

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

_x000D_

_x000D_

<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"/>_x000D_
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>_x000D_
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.js"></script>_x000D_
<script type="text/javascript">_x000D_
_x000D_
 $(function () {_x000D_
_x000D_
 var getDate = function (input) {_x000D_
    return new Date(input.date.valueOf());_x000D_
 }_x000D_
_x000D_
 $('#entrada').datepicker({_x000D_
    format: "dd/mm/yyyy",_x000D_
    language: 'es',_x000D_
    startDate: '+5d',_x000D_
    endDate: '+35d',_x000D_
    autoclose: true,_x000D_
});_x000D_
var a = $('#entrada').datepicker("getDate");_x000D_
$('#salida').datepicker({_x000D_
    startDate: '+6d',_x000D_
    format: "dd/mm/yyyy",_x000D_
    language: "es",_x000D_
    endDate: '+36d',_x000D_
    autoclose: true_x000D_
});_x000D_
_x000D_
 $('#entrada').datepicker().on('changeDate', function (ev) {_x000D_
  //Obtenemos la fecha de entrada_x000D_
  var date2 = $('#entrada').datepicker('getDate'); _x000D_
  //Sumamos un día a la fecha de entrada_x000D_
  date2.setDate(date2.getDate()+1); _x000D_
   //Asignamos la nueva fecha al datepicker de salida_x000D_
  $('#salida').datepicker('setDate', date2);_x000D_
});_x000D_
_x000D_
});_x000D_
</script>_x000D_
_x000D_
<input type="text" name="entrada" id="entrada" value=""> _x000D_
<input type="text" name="salida" id="salida" value="" >

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *