• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage jQuery Datepicker

S

s_i_l_l_e

Guest
Hallo,
folgende Situation

In einer Anwendung haben wir ein Datumsfeld. Dieses wird per js an ein DatePicker (jQuery) gebunden.
Es wird die Funktion minDate / maxDate eingebunden.

Anforderung:
Es sollen nur möglich sein, ein Datum innerhalb einer bestimmten Buchungsperiode eingetragen zu können.
Ist noch nicht der 4. des aktuellen Monats, darf noch ein Datum des vorherigen Monats gewählt werden. Haben wir den 4. oder später des aktuellen Monats, dann darf nur noch ein Datum des aktuellen Monats gewählt werden.
Diese Anforderung ist umgesetzt.

Problem:
Wenn 2 Monate in der Vergangenheit ein Datum eingetragen wurde (z.B. 13. August 2015) und der Datensatz wird heute noch einmal aufgerufen, um weiter Informationen in anderen Attributen einzutragen, wird das Datum im Datumsfeld automatisch auf den 1. Oktober 2015 gesetzt.
Der Grund dafür ist, dass zum heutigen Tag der 13. August 2015 nicht mehr in der Buchungsperiode 01. Oktober bis heute enthalten ist.

Frage:
Gibt es eine Möglichkeit, dass das Datum nicht automatisch überschrieben wird? Sondern zum Beispiel erst wenn man in das Datumsfeld hinein klickt und somit wissentlich ein anderes Datum aus der Buchungsperiode wählt.
 
Werbung:
(Update)
Hallo,
Ich habe es jetzt folgendermaßen umbauen können.
Das js Script setzt die Buchungsperiode jetzt erst an dem Datumsfeld (datePicker), wenn in das Feld geklickt wird.
Vorher:
HTML:
berechneCalenderBereich : function(){
                
                    if($('#buchungsschluss').length){
                        var min = $("#minDate").val().split(",");
                        var max = $("#maxDate").val().split(",");

                        $('.dateField').datepicker( "option", "minDate", new Date(min[0],min[1],min[2]));
                        $('.dateField').datepicker( "option", "maxDate", new Date(max[0],max[1],max[2]));
                    }
                }
               }
Nachher:
HTML:
berechneCalenderBereich : function(){
               
                    if($('#buchungsschluss').length){
                        var min = $("#minDate").val().split(",");
                        var max = $("#maxDate").val().split(",");

                        $(this).datepicker( "option", "minDate", new Date(min[0],min[1],min[2]));
                        $(this).datepicker( "option", "maxDate", new Date(max[0],max[1],max[2]));
                    }
                }
               }
HTML:
$(document).ready(function(){
    'use strict';
    // ---------------------------

    // Global Functions
    $('.dateField' ).attr('readonly', 'readonly');
    $('.dateField').on('click',mima.sanierung.berechneCalenderBereich);

    // ---------------------------
});

Somit wird ein etwa vorhandener Wert nur überschrieben, wenn man in eine Datumsfeld klickt.

Trotzdem bleibt das Problem, dass sofort wenn man in ein Datumsfeld klickt, aus dem Datum 13. August 2015 der 01. Oktober 2015 wird.
Besser wäre, dass das Datum erst umgesetzt wird, wenn ein Datum im DatePicker ausgewählt wird.

Kann man die Funktion, dass wenn man in das Feld klickt das Datum sofort gesetzt wird, so ausschalten, dass erst wenn ich im Widget ein Datum wähle, dass Datum gesetzt wird?
 
Zuletzt bearbeitet von einem Moderator:
Hallo,
keine jQuery Spezis hier?:(

Na dann versuche ich es mal wo anders.
 
Werbung:
Zurück
Oben