2016-06-02 10 views
0

, Ich möchte max Datum als 1 Jahr ab Startdatum, nach 1 Jahr die Daten sollten deaktiviert werden und sobald das Startdatum ausgewählt wurde, die Das Enddatum sollte automatisch auf 3 Monate ab dem ausgewählten Datum festgelegt werden, sollte jedoch erst nach 1 Jahr ab dem Startdatum deaktiviert werden. Die Mindestdaten können sogar 2 Tage betragen.Wie Max Datum und Standarddatum in Bootstrap Datepicker

<div class="form-group"> 
    <label class="control-label" for="startDate">Start Date<span>*</span>(MM/DD/YYYY)</label> 
    <input class="step__field form-control hasPlaceholder date-input" id="startDate" name="startDate" type="text" value=""> 
</div> 
<div class="form-group"> 
    <label class="control-label" for="endDate">End Date(MM/DD/YYYY)</label> 
    <input class="form-control hasPlaceholder date-input step__field" id="endDate" name="endDate" type="text" value=""> 
</div> 

JS

var nowDate = new Date(); 
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); 
$('#startDate').datepicker({ 
    startDate: today 
}); 

Wenn Sie mir ein anderes Plugin vorschlagen können, bitte tun und eine JS Geige mit der Forderung

Antwort

1
var nowDate = new Date(); 
var today = new Date(nowDate.getFullYear()-1, nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); 

    $('#startDate').datepicker('startDate', today); 

    $('#startDate').datepicker().on('changeDate', function(ev) { 
     var today1 = new Date(ev.date.getFullYear(), ev.date.getMonth()+3, ev.date.getDate(), 0, 0, 0, 0); 
     $('#endDate').datepicker('setStartDate',today1); 
    }); 

bearbeiten erstellen:

$('#startDate').datepicker().on('changeDate', function(ev) { 
    var set_Date = new Date(ev.date.getFullYear(), ev.date.getMonth()+3, ev.date.getDate(), 0, 0, 0, 0); 
    var start_date = new Date(ev.date.getFullYear(), ev.date.getMonth(), ev.date.getDate()+2, 0, 0, 0, 0); 
    var end_date = new Date(ev.date.getFullYear()+1, ev.date.getMonth(), ev.date.getDate(), 0, 0, 0, 0); 

    $('#endDate').datepicker('setStartDate',start_date); 
    $('#endDate').datepicker('setDate',set_Date); 
    $('#endDate').datepicker('setEndDate',end_date); 
}); 
+0

Danke soviel für die schnelle Antwort, tut mir leid, dass ich nicht gut erklären werde, der maximale Bereich des Enddatums sollte 1 Jahr vom Anfangsdatum sein Minimumbereich kann sogar 2 Tage sein, aber es sollte nach 1 Jahr deaktiviert werden und sobald das Startdatum das Enddatum ausgewählt wurde sollte sich vom Startdatum an um 3 Monate auffüllen –

+0

Wie deaktivieren Sie Daten für ein Jahr nach dem Startdatum? –

0

Ich habe endlich erreicht, was ich für den Code von @Parth Patel suchen, Vielen Dank, für diejenigen, die für die gleiche Anforderung suchen, ist dies der Code

var nowDate = new Date(); 
    var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 
     0, 0, 0, 0); 
    $('#startDate').datepicker({ 
     startDate: today 
    }); 
    $('#startDate').datepicker().on('changeDate', function(ev) { 
     var selectedStartDate = $('#startDate').datepicker('getDate'); 
     var year1 = new Date(selectedStartDate.getFullYear() + 1, 
      selectedStartDate.getMonth(), selectedStartDate.getDate(), 
      0, 0, 0, 0); 
     var today1 = new Date(ev.date.getFullYear(), ev.date.getMonth() + 
      3, ev.date.getDate(), 0, 0, 0, 0); 
     $('#endDate').datepicker('setStartDate', today); 
     $('#endDate').datepicker('update', today1); 
     $('#endDate').datepicker('setEndDate', year1); 
    }); 
Verwandte Themen