2017-03-29 2 views
0

Ich habe ein Formular, das zwei Felder hat, ein "Start" -Datum und ein "End" -Datum. Ich muss den jQuery UI Datepicker verwenden, weil ich diese Anwendung auf einem 7 "-Touchscreen ausführen werde, und ich musste die Größe des Kalenders anpassen, der vom Datepicker aufgetaucht ist. Das Problem, dem ich gegenüberstehe, ist, dass wenn ich a Datum, es löst kein "change" -Ereignis in dem Feld aus und daher ändert sich das untenstehende Diagramm nicht. Wenn ich das Datum physikalisch eintippe, funktioniert alles wie vorgesehen. In welchem ​​Ereignis soll ich nach meinem Code suchen? Tabelle unten die DatumsfelderjQuery UI Datepicker löst keine Änderung in extjs Feld

Example

+0

Ich glaube fest, dass dies ein [XY-Problem] ist (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Ihre beabsichtigte Frage war "Wie kann ich die Größe einer ExtJS-Datumsauswahl anpassen?" Oder "Wie kann ich meine eigene Datumsauswahl schreiben?". [Als Beispiel, lassen Sie mich Ihnen die benutzerdefinierte Datumsauswahl zeigen, die ich gemacht habe.] (Https://i.imgur.com/8mbPsJQ.png) – Alexander

Antwort

0

ich gehe davon aus, dass Sie das Datum des Datepicker picker~~POS=HEADCOMP zu einem Ext.form.field.Textfield anwenden Werfen Sie einen Blick auf den checkChange-config aus dem ExtJs 6.2.1 docs:.

Eine Liste der Ereignisnamen, auf die bei der Eingabe des Elements des Feldes gewartet wird, wodurch der Feldwert auf Änderungen überprüft wird. Wenn eine Änderung festgestellt wird, wird das Änderungsereignis ausgelöst, gefolgt von Validierung, wenn die Option validateOnChange aktiviert ist. Standardmäßig ['ändern', 'propertychange', 'keyup'] in Internet Explorer und ['ändern', 'input', 'textInput', 'keyup', 'dragdrop'] in anderen Browsern.
...
Wenn Sie brauchen on-the-fly-Änderungsbenachrichtigungen einschließlich dieser Kante Fällen zu gewährleisten, können Sie die checkChange Methode auf einem Wiederholungsintervall nennen, z.B. Wenn Sie Ext.TaskManager verwenden oder das Feld innerhalb eines Ext.form.Panel liegt, können Sie die Ext.form.Panel # pollForChanges-Konfiguration von FormPanel verwenden, um eine solche Aufgabe automatisch so einzurichten, dass Sie die Aufgabe ausführen.
...

So können Sie die Liste zwicken es Ihre Bedürfnisse oder versuchen, das Problem zu umgehen mit Ext.TaskManager passen.

+0

Dumme Frage, aber funktioniert das auch im "modernen" Toolkit? Ich weiß, dass Sencha beschlossen hat, ihre ExtJS- und Sencha Touch-Pakete zu einem etwas offensichtlich gepflasterten Paket zusammenzufügen. –