Wie kann ich jQueryUI datepicker erweitern, um ein zusätzliches Argument zu akzeptieren?

8

Ich mag es, dass jQueryUI datepicker anpassbar genug ist, damit eine Schaltfläche das Anzeigen des Datepickers auslösen kann, aber leider lässt es nicht zu, dass Sie Ihr eigenes Markup anpassen können.

Wenn ich Markup wie folgt habe:

%Vor%

Um zu erreichen, dass der Datumszeiger beim Klicken auf den Button erscheint, müsste ich folgenden Code implementieren:

%Vor%

Hier ist ein JsFiddle des obigen Codes: Ссылка

Das ist alles gut und gut, aber was ich wirklich machen möchte, ist die Übergabe der Datepicker-Funktion an ein Objekt oder einen Selektor, der angibt, welches Element die Darstellung auslösen soll.

Zum Beispiel würde ich das gerne tun können:

%Vor%

Ich weiß, wie man jQuery erweitert, um Methoden hinzuzufügen und Plugins zu erstellen, aber ich bin mir nicht sicher, wie (oder wenn es möglich ist) die erlaubten Argumente in einer bestehenden Funktion zu ändern.

Weiß jemand, wie ich $.datepicker erweitern könnte, um das zu erreichen, was ich tun möchte, oder mir zumindest in die richtige Richtung zeigen? Jede Hilfe würde sehr geschätzt werden.

    
Philip Walton 12.10.2011, 00:02
quelle

3 Antworten

15

Wie wäre es mit:

%Vor%

Verwendung:

%Vor%

Beispiel: Ссылка

Oder weniger eindringlich mit Ihrem eigenen jQuery-Plugin:

%Vor%

(Ähnliche Verwendung, außer datepicker2 oder wie auch immer Sie es nennen)

Beispiel: Ссылка

    
Andrew Whitaker 12.10.2011, 00:27
quelle
0

Sie können nicht verlängern, da der Datapicker nicht die Widget-Factory verwendet und Sie ihn daher nicht verwenden können, um sie zu erweitern, aber Sie können die Methoden überschreiben und Ihren Code einfügen. Eine vollständige Liste der Methoden, die Jquery UI Datepicker verwendet, finden Sie unter datepicker.js oder jquery-ui.js

Sie können diesen Code einfach in Ihre Custom JS-Datei einfügen und nach dem Überschreiben können Sie wie gewohnt datepicker aufrufen

%Vor%     
Aman Bansal 11.06.2016 02:49
quelle
0

Nur für den Fall, um eine aufrufbare Methode zu definieren, müssen Sie diesem Muster für den Methodennamen folgen:

%Vor%

Wenn Sie eine interne Methode aufrufen müssen, die einen Verweis auf die Kalenderinstanz erfordert, müssen Sie Folgendes tun:

%Vor%     
VictorEspina 11.07.2017 04:04
quelle