2016-07-01 10 views
0

-Code-Referenz: https://jsfiddle.net/manikiran1/9cmLuuk1/JQuery UI Datumsauswahl Customization Fehler

wählte ich das Startdatum als 1. Januar 2013 dann das Enddatum mit Startdatum vorbelegt werden soll, und es wird die Drop zeigt nach unten automatisch Fokus bekommen (wenn Enddatum ist leer) jetzt drop down zeigt Kalenderoptionen in Jan, 2013, so dass ich in der Lage sein kann, jedes Datum in dieser Auswahl zu wählen.Jetzt ist mein Problem
1.I Startdatum ausgewählt als jan 1.2013
2.the Ende date zeigt automatisch den Kalender mit der Startdatumsauswahl an.
3. Jetzt möchte ich das Jahr als 2015 wählen, aber es ändert sich nicht in der Dropdown-Menü Kalender für die erste Zeit Auswahl.Aber wenn Sie erneut auswählen, es funktioniert gut.
Bitte helfen Sie mir, diesen Fehler zu vermeiden.

$("#datepicker1").datepicker("option", "minDate", selectedDate); 
     var a = $("#datepicker1").datepicker("getDate"); 
     var b = $("#datepicker").datepicker("getDate"); 
     var c = new Date(a); 
     var d = new Date(b); 
     if (a == null) { 
     document.getElementById("datepicker1").focus(); 
     $("#datepicker1").datepicker('setDate', selectedDate); 
     } 
     if (d.getTime() == c.getTime()) { 
     document.getElementById("datepicker1").focus(); 
     $("#datepicker1").datepicker('setDate', selectedDate); 
     } 
    } 
    }); 
    $("#datepicker1").datepicker({ 
    maxDate: new Date(), 
    yearRange: "2011:new Date()", 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: "M dd,yy", 
    onClose: function(selectedDate) { 
     var b = $("#datepicker").datepicker("getDate"); 
     if (b == null) { 
     document.getElementById("datepicker").focus(); 
     } 
    } 
    }); 
}); 

Antwort

0

Versuchen Sie, diese

onChangeMonthYear:function(y, m, i){         
var d = i.selectedDay; 
$(this).datepicker('setDate', new Date(y, m - 1, d)); 
}, 

die komplette Funktion wird

$("#datepicker1").datepicker({ 
maxDate: new Date(), 
yearRange: "2011:new Date()", 
changeMonth: true, 
changeYear: true, 
dateFormat: "M dd,yy", 
onChangeMonthYear:function(y, m, i){         
var d = i.selectedDay; 
$(this).datepicker('setDate', new Date(y, m - 1, d)); 
}, 
onClose: function(selectedDate) { 
    var b = $("#datepicker").datepicker("getDate"); 
    if (b == null) { 
    document.getElementById("datepicker").focus(); 
    } 
} 
}); 

der Fiedler sein: https://jsfiddle.net/6h3zto4y/

+0

danke tief es funktioniert, kann aber weiß, dass ich den Grund, warum mein Code anfangs gescheitert ?? –