2016-05-08 8 views
0

Ich arbeite daran, zwei Bootstrap-Datumsauswahl zu haben. Sobald der Benutzer auf ein beliebiges Datum klickt, sollte das Startdatum der zweiten Datumsauswahl ausgewählt werden im ersten date picker und davor sollten alle dates deaktiviert werden. Aber sicher gehe ich ein falsches weg ich konnte nicht herausfinden. Der Wert der Variable diffDays wird nicht im startDate Feld des zweiten date-pickers und damit wiedergegeben Das Startdatum wird nicht in der zweiten Datumsauswahl angezeigt. Vielen Dank im Voraus.Startdatum der zweiten Datumsauswahl von der ersten Datumsauswahl definieren

function checkDate(startDate) { 
    var oneDay = 24 * 60 * 60 * 1000; 
    var res = startDate.value.split("/"); 
    var firstDate = new Date(res[2], res[1] - 1, res[0]); 
    var todayFullDate = new Date(); 
    var diffDays = Math.round(Math.abs((firstDate.getTime() - todayFullDate 
      .getTime()) 
      /(oneDay))); 

    $('#date2').datepicker({ 

     startDate: '+'+diffDays+'d' 
       }); 

} 
$(function() { 

    $('#date1').datepicker({ 
     format : "dd/mm/yyyy", 
     required : true, 

    }); 

    $("#register-form").validate({ 

     rules : { 
      date1 : "required" 
     }, 

     messages : { 
      date1 : "Please enter a valid date" 
     }, 

     submitHandler : function(form) { 

      form.submit(); 
     } 
    }); 

}); 

Antwort

1

Sie können wie unter Verwendung von einfachen methods und options versehen zusammen mit ihrer Plugin machen:

changeDate, setStartDate und setEndDate sind die 3 wichtigsten Dinge, die Sie Gebrauch machen müssen .

changeDate ist ein event die fired when the date is changed ist.

setStartDate und setEndDate sind die Methoden, die 2 startdate und enddate für jeweilige datepickers setzt. Sie müssen changeDate Ereignis sowohl für die datepickers und setzen entsprechende Start- und Enddaten für die jeweiligen datepickers wie unten

$('.start').datepicker({ 
    autoclose:true 
}).on('changeDate',function(e){ 
    //on change of date on start datepicker, set end datepicker's date 
    $('.end').datepicker('setStartDate',e.date) 
}); 

$('.end').datepicker({ 
    autoclose:true 
}).on('changeDate',function(e){ 
    //on change of date on end datepicker, set start datepicker's date 
    //e.date will have selected date value. 
    $('.start').datepicker('setEndDate',e.date) 
}) 

DEMO HERE

+1

Große Antwort befestigen. Tausend Dank! – ImBS

+0

Jederzeit .. Happy coding .. :) –

Verwandte Themen