Validar rango de entrada y salida de reserva. Bootstrap datepicker – jquery bootstrap formularios

Pregunta:


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

Preguntado por: MSL

OscarGarcia

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

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

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *