Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/08/2014, 09:09
djdonovans
 
Fecha de Ingreso: marzo-2007
Mensajes: 17
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Calcular Diferencia entre 2 Fechas, aun input con checkbox

comparto con todos el ejemplo completo:
Código HTML:
Ver original
  1.  
  2. <script src="jquery/jquery.js"></script>
  3. <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css">
  4. <script type="text/javascript" src="jquery/jquery-ui.min.js"></script>
  5.  
  6. function diferencia(){
  7.     var fecha1 = $("#fecha1").val(),
  8.         fecha2 = $("#fecha2").val();
  9.            
  10.     if (fecha1.length && fecha2.length){
  11.        var arr1 = fecha1.split("/"), //Separamos los datos de la fecha, formando un array con ellos
  12.            arr2 = fecha2.split("/"), //Separamos los datos de la fecha, formando un array con ellos
  13.            dias1 = (new Date(arr1[2], arr1[1], arr1[0]).getTime() / 1000) / 86400, //Calculamos la cantidad de días que representa
  14.            dias2 = (new Date(arr2[2], arr2[1], arr2[0]).getTime() / 1000) / 86400, //Calculamos la cantidad de días que representa
  15.            dif = dias2 > dias1 ? dias2 - dias1 : dias1 - dias2; //Restamos la cantidad de días que representa cada fecha
  16.         $("[name=total]").val(dif); //Asignamos la resta a la tercera caja
  17.     }
  18. }
  19.  
  20. $(function () {
  21. $("#fecha1, #fecha2").datepicker({
  22.     changeMonth: true,
  23.     changeYear: true,
  24.     onSelect: diferencia
  25. });
  26. });
  27.  
  28. $.datepicker.regional['es'] = {
  29.  closeText: 'Cerrar',
  30.  prevText: '<Ant',
  31. nextText: 'Sig>',
  32.  currentText: 'Hoy',
  33.  monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
  34.  monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
  35.  dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
  36.  dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
  37.  dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
  38.  weekHeader: 'Sm',
  39.  dateFormat: 'dd/mm/yy',
  40.  firstDay: 1,
  41.  isRTL: false,
  42.  showMonthAfterYear: false,
  43.  yearSuffix: ''
  44.  };
  45.  $.datepicker.setDefaults($.datepicker.regional['es']);
  46. $(function () {
  47. $("#fecha").datepicker();
  48. });
  49.  
  50. </script>
  51.  
  52. </head>
  53.  
  54. <body>
  55.     <form name='frm' id="frm">
  56.         <div class="control-group">
  57.             <label>Desde Fecha:</label>
  58.             <input type="text" name="de_fecha" id="fecha1"/>
  59.         </div>
  60.         <div class="control-group">
  61.             <label>Hasta Fecha:</label>
  62.             <input type="text" name="a_fecha" id="fecha2"/>
  63.         </div>
  64.         <div class="control-group">
  65.             <label>Total Dias:</label>
  66.             <input type="text" name="total" id="total" disabled/>
  67.             <input type="checkbox" id="casilla" value="1" onclick="JavaScript:document.frm.total.disabled = !this.checked"/>Valor Manual
  68.         </div>
  69.     </form>
  70. </body>
  71. </html>