2012-01-17 18 views
5

Sono nuovo in questo e ho davvero bisogno del vostro aiuto perché ho lottato per giorni con questo ... Voglio calcolare i giorni tra due date scelte con datepicker. Sono sulla buona strada con questo o sto facendo questo completamente sbagliato? Tutto quello che so è che quando clicco su Numero di giorni, non mostra nulla. Qui è il mio codicejquery datepicker - calcolare la differenza di data

<!DOCTYPE html> 
    <html> 
    <head> 
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
     <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
     <script> 
     $(document).ready(function() { 

      $("#datepicker").datepicker({ minDate: "01/07/2012", maxDate: "01/30/2012" }); 

      $("#datepicker1").datepicker({ beforeShow: setminDate }); 

      var start1 = $('#datepicker');  
      function setminDate() {   
       var p = start1.datepicker('getDate');   
       if (p) { 
        var k ="01/30/2012";    
        return { 
        minDate: p, 
        maxDate:k 
       }};   
      }   
      function clearEndDate(dateText, inst) {   
       end1.val('');  
      } 
     }); 
    $(function() { 
     $("#datepicker1").datepicker({ dateFormat: 'mm/dd/yyyy' }); 
     $("#datepicker").datepicker({ dateFormat: 'mm/dd/yyyy' }); 
    }); 
    $('button').click(function() { 
     var start = $('#datepicker1').datepicker('getDate'); 
     var end = $('#datepicker').datepicker('getDate'); 
     var days = (end - start)/1000/60/60/24; 
     alert(days); 
    }); 
    </script> 
    <body> 
    <form> 
     from: 
     <input id="datepicker" readonly='true'/><br> 
     to: 
     <input id="datepicker1" readonly='true'/><br> 
    </form> 
     <br><button>number of days</button> 

    </body> 
    </html> 
+0

prima correggere l'ordine di inserimento script nella pagina prima di tutto 'jquery.js' dovrebbe essere inclusi quindi gli altri file js/lib che usano jquery – Rafay

+0

iniziano e finiscono per ricevere valori? sono date o ints? eventuali eccezioni dovunque? – elijah

risposta

12

lavorare per me dopo aver fatto questo cambiamento

var start = $('#datepicker').datepicker('getDate'); 
    var end = $('#datepicker1').datepicker('getDate'); 
    var days = (end - start)/1000/60/60/24; 
    alert(days); 

jsfiddle: http://jsfiddle.net/diode/L2et3/3/

+0

Posso vedere sul tuo link che questo funziona per te, ma quando copio esattamente lo stesso nel mio documento, non lo è. Devo cambiare la parte tra e $ (document) .ready (function()? – user1154830

+0

Vedete qualche errore in firebug? – Diode

+0

Vedo questo avviso event.layerX ed event.layerY sono rotti e deprecati in WebKit. rimosso dal motore nel prossimo futuro – user1154830

Problemi correlati