Wie starte ich die Datumsauswahl beim ersten onclick-Ereignis?

7

Ich verwende diese Datumsauswahl von jqueryui .
Wenn Sie auf diese Seite schauen, werden Sie feststellen, dass sie nur in einer Funktion geschrieben haben:

%Vor%

Aber ich möchte meine Datumsauswahl für ein Textfeld-Klickereignis öffnen.
Also habe ich das geschrieben:

%Vor%

in einer Funktion, die ich bei dem onclick -Ereignis der Textbox anrufe.
Aber darin liegt ein Problem.

Ich erhalte die Datumsauswahl nur beim zweiten Mal, wenn ich auf das Textfeld klicke.
Wenn ich das erste Mal nach dem Laden der Seite klicke, wird die Datumsauswahl nicht angezeigt, aber sobald ich das zweite Mal klicke, kommt die Datumsauswahl.

Warum? Und kann ich es beim ersten Klick tun?

Ja, ich weiß, dass das schon perfekt passiert, wenn ich den ersten Code schreibe, aber ich möchte es in meiner Funktion haben.

BEARBEITEN:
Jetzt werde ich euch allen erklären, was ich genau mache.

Meine Anforderung ist wie folgt:

1) Wenn ich das Datum das erste Mal wähle. Termine vor dem heutigen Datum sollten im Kalender deaktiviert werden.
2) Wenn ich jetzt das Datum zum zweiten Mal im Kalender auswähle, sollte das Datum einen Tag nach dem vorherigen Datum beginnen Ich habe so geschrieben ....

%Vor%

Dies funktioniert perfekt auf eine Anforderung, aber für die zweite Anforderung muss ich zuerst prüfen, ob es einen Textfeldwert gibt. Wenn es irgendwelche gibt, dann sollte es direkte +1 zu diesem Datum auswählen und vorherige Daten sollten deaktiviert werden.

Wie geht das?

    
Nitz 18.05.2010, 17:12
quelle

6 Antworten

16

Der Grund, warum es beim ersten Klick nicht angezeigt wird, ist, dass es nicht sofort als Datumspicker registriert wird, wenn Sie es zum ersten Mal anklicken. Es hat daher kein onclick-Ereignis, das besagt, dass es einen Datums-Picker zeigen sollte, wenn Sie darauf klicken.

Beim zweiten Klick haben Sie es jedoch beim ersten Klick als Datumsauswahl festgelegt (und es gibt jetzt ein onclick-Ereignis, bei dem der Datumsauswahl angezeigt wird). Das Onclick-Ereignis des Datepickers wird ausgelöst und zeigt den Picker an.

Wie in anderen Antworten erwähnt, ist dies nicht die empfohlene Vorgehensweise. Aber wenn Sie es wirklich onclick und nicht onload binden möchten, können Sie den Picker beim ersten Klick anzeigen, indem Sie

ausführen %Vor%

Dadurch wird das Element als Datumsauswahl registriert und angezeigt und gleichzeitig angezeigt.

    
Simen Echholt 18.05.2010, 17:36
quelle
3

Stellen Sie sicher, dass Sie den Datepicker beim Laden der Seite und nicht beim onclick-Ereignis aufrufen.

%Vor%     
baloo 18.05.2010 17:17
quelle
1

Wenn irgendjemand den Datumszeiger in einem Glyphicon-Symbol und im Eingabefeld anzeigen möchte, habe ich folgendes gemacht:

html Teil:

%Vor%

Javascript Teil:

%Vor%     
Ricardo Rivera Nieves 09.05.2016 18:07
quelle
0

Ich glaube, Sie missverstehen die Bedeutung von:

%Vor%

ist das gleiche wie:

%Vor%

und

%Vor%

Indem Sie $("#datepicker").datepicker(); einschließen, weisen Sie den Browser einfach an, das .datepicker() -Ereignis zu dem Datumsfeld hinzuzufügen, das während des document ready -Ereignisses durch die #datapicker ID angezeigt wird (wenn das Dokument geladen und zur Verarbeitung bereit ist).

Indem Sie es NICHT einschließen, fügen Sie den Ereignishandler erst hinzu, nachdem das Dokument fertig ist, während des Ladens von JavaScript (oder wenn es aufgerufen wird) oder des Funktionsaufrufs, wenn Sie es dort eingeschlossen haben.

Beachten Sie Folgendes:

%Vor%

Sie erhalten den Handler hinzugefügt, wenn diese Funktion ausgeführt wird, die Probleme verursachen kann, wenn Sie sie dann erneut aufrufen:

%Vor%     
Mark Schultheiss 18.05.2010 17:29
quelle
0

Ich habe so von @Simen Echholt Antwort

verwendet %Vor%     
khaled_webdev 09.05.2012 16:13
quelle
0

Ich hatte es in der js-Funktion aufgerufen, und es funktioniert. Siehe das Code-Snippet:

Schritt-1: In der Datei: timepicker.jsp

%Vor%

Schritt-2: In der Datei timepicker.js

%Vor%

Schritt-3: Die Crux ist: Aufruf des .timepicker ('show') , der den Zeitpicker zum ersten Mal selbst anzeigt.

    
ArunDhwaj IIITH 30.04.2016 12:19
quelle

Tags und Links