jQuery UI datepicker-onChangeMonthYear und die inst-parameter
$('.selector').datepicker({
onChangeMonthYear: function(year, month, inst) { ... }
});
Wie kann ich den 'inst' - parameter von onChangeMonthYear zu auto-wählen Sie den ersten Tag des Monats?
finden Sie unter: http://jsfiddle.net/sD8rL/
Ich bin derzeit mit dem code unten, aber ich fühle mich wie ich sollte in der Lage sein zu verwenden, die 'inst' - variable in ein mehr straight-forward Weg.
$(".datepicker" ).datepicker({
changeMonth: true,
changeYear: true,
maxDate:0,
onChangeMonthYear: function(year, month, inst){
//set date to 1st on year or month change
//this seems bit janky, but works
$('#' + inst.id).datepicker( "setDate", month + '/1/' + year );
//Can't I use the instatnce to set the date?
//$(inst).datepicker( "setDate", month + '/1/' + year ); //fails
//inst.datepicker( "setDate", month + '/1/' + year ); //fails
//inst.selectedDay = 1; //fails
//inst.currentDay = 1; //fails
}
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn es keinen besonderen Grund, die Sie verwenden möchten
inst
Sie können immerthis
:Ihn in Aktion zu sehen: http://jsfiddle.net/william/sD8rL/2/.
Lösung von William Niu berücksichtigt nicht die anderen Formate (z.B. dd-mm-yyyy).
Besser hätte man ein Date-Objekt aus Ihrer datepicker und ändern, wie Sie möchten (D. H., die Einstellung, die am ersten Tag des Monats). Nachdem Sie Ihre änderungen vorgenommen haben, können Sie re-pass das geänderte Datum-Objekt zu Ihrem datepicker.
Diese Weise werden Sie nicht überschreiben das Datum-format (möglicherweise während der datepicker-Initialisierung) 😉
Achten Sie auf die Monat format: datepicker verarbeitet 1-12 format für Monate, während dem Date-Objekt 0-11.
Hoffe, dies kann helfen, bye!