JQuery UI datepicker: so binden Sie ein Ereignis NACH dem Kalender war gerendert?
Ich bin mit datepicker. Der übliche Weg zu binden, ein Ereignis, sagen wir zum Beispiel beforeShowDay
wäre:
$('.selector').datepicker({
beforeShowDay: function(date) { ... }
});
Was ich brauche, ist ein binden der beforeShowDay
Ereignis nach dem Kalender erbracht wurde. Also, lasst uns erstmal sagen, ich machen den Kalender:
$('.mySpecialContainer').datepicker({
//in this moment, for some reason, I am not allowed to bind nothing (that's not me who renders the calendar, that's why I am not allowed)
});
Dann, wenn ich versuche, mich zu binden, etwas in der üblichen Weise:
$('.mySpecialContainer').datepicker({
beforeShowDay: function(date) { ... }
});
Den Kalender - natürlich - erneut gerendert innen '.mySpecialContainer'
, anstatt nur auf die Bindung der Fall. Ich habe versucht:
$('.mySpecialContainer').bind('beforeShowDay', function(date) { ... });
Aber das war nur eine verzweifelte Aktion 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Macht es keinen Sinn für mich, warum kann man das nicht nennen
bind
auf, dass insbesonderedatepicker
Ereignis (oder, für diese Angelegenheit, die meistendatepicker
Veranstaltungen). Die meisten anderen jQueryUI-widgets ermöglichen die späte Bindung der Ereignisse.Jedoch, Sie können versuchen, die folgenden.
hasDatepicker
angewendet wird datepickers, und ruft.datepicker
wieder auf diese Elemente ist nicht erneute Initialisierung des widgets, es ist nur das ändern einer option:$('.mySpecialContainer').datepicker({ beforeShowDay: function(date) { ... } });
dies funktioniert nicht für mich, denn der Kalender ist bereits erbracht. gibt es eine formale Art und Weise kann ich das DatePicker-Objekt? Ich versuche$('.hasDatepicker')
aber dies nur eine Auswahl, die bringt mich ein container, nichts aber, dassdatepicker
s befestigt und dann befestigen Sie die Veranstaltung?$(".hasDatepicker")
zurück das element(s), diedatepicker()
er ursprünglich genannt wurde, aber Sie können ändern Sie die Optionen mithilfe der.datepicker("option", ...)
Funktion, siehe meine aktualisierte Antwort. Ich kann ein Beispiel geben, wenn nötig.<div id="whatever" />
wenn ich$('#whatever').datepicker()
es entsteht ein inneres element mit (amont anderem) die KlassehasDatepicker
. Ich habe bereits versucht, Ihren zweiten Beispiel vor. wir werden versuchen, zu entdecken, diese auf prime Gesichter forum auch: primefaces.prime.com.tr/forum/...datepicker
. und ein Skript$( "#datepicker" ).datepicker();
zu erstellen, das der datepicker. wenn ich die Ausführung Ihrer$('.hasDatepicker').datepicker("option", "beforeShowDay", function(date) { alert('whatever') });
es nur zerstört die gerenderten datepicker. es scheint, dass Sie abwarten müssen Ereignisse, die zu einem datepicker funktioniert nur bei der Erstellung Zeit...Mit
Habe ich den nächsten bug:
Es scheint, dass Sie nicht getestet haben dies.
Müssen Sie
.live()
.http://api.jquery.com/live/
Auf den zweiten Gedanken, ich denke, dass ich falsch verstanden, die Frage... müssen Sie ein datepicker ohne Funktion, und dann später auf ihm eine Funktion? Sie werden wahrscheinlich am besten aus, entfernen der datepicker und legt es wieder auf.