Clearing ExtJS combobox-Eingabe-Feld
Ich habe eine Ext.form.ComboBox mit den folgenden Eigenschaften:
fieldLabel: 'Regiune',
valueField: 'id',
displayField: 'reg',
id: 'cbRegR',
typeAhead: true,
store: new Ext.data.JsonStore({...}),
mode: 'local',
emptyText: '',
listeners:{...}
Das problem ist, dass ich manuell löschen Sie die combobox' input-Feld nach der Auswahl eines Wertes aus der dropdown-Liste, um alle Objekte in der Liste. Die Sache ist, die Liste zeigt nur die Elemente an, die beginnen mit den Buchstaben im Eingabefeld.
Wie kann ich deaktivieren Sie das Eingabefeld auf dem ausbau der dropdown-Liste aus? Ich habe Folgendes versucht, aber es funktioniert nicht:
listeners: { 'expand': function() { cbRegR.clearValue(); } }
Scheint einfach zu sein, aber es ist nicht so für mich.. Irgendwelche Ideen? Vielen Dank im Voraus.
o-kay, wie kann ich mark meine Frage als GELÖST?
InformationsquelleAutor Giku Promitt | 2011-01-14
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen der config-Eigenschaft, um Ihre combobox
könnte den trick tun, ohne die Notwendigkeit zu registrieren erweitern Sie event-handler oder deaktivieren Sie die combobox-Wert
die docs hier sagt, dass, wenn
triggerAction
auf "alle" den Wert derallQuery
option wird verwendet, um die Daten Abfragen - dies ist standardmäßig "" damit werden alle Daten zurückgegeben.+1 Für die beste Antwort. Kann nicht glauben, ich vergaß...
weitere geeignete hier url von @user69820
InformationsquelleAutor
Es ist eine intrinsische Verhalten von Ext JS ComboBox-es um die Elemente der Liste filtern basierend auf den Wert des Feldes, wie Sie bereits wissen.
Könnte man perceivably überschreiben der expand () - Methode, Ergänzungen, löschen Sie den Wert, bevor es macht die Liste. EG:
Ich persönlich speichern von Außerkraftsetzungen in eigene JS-Datei und rufen Sie in der Seite direkt nach dem Aufruf in der ext-Skripten. Sie werden angewendet, bevor irgendetwas anderes passiert dann.
PS: gewarnt Werden außer Kraft gesetzt, wie das obige Beispiel angewendet werden, um ALLE ComboBoxes. Wenn das nicht gewünschte Verhalten, dann möchten Sie vielleicht zuerst erweitern ComboBox, um Ihre eigene version, dann überschreiben Sie die expand-Funktion auf Ihre eigene Erweiterung.
gut, ich werde überprüfen Sie diese Lösung. danke 😉
InformationsquelleAutor ndtreviv
Erweitern-Veranstaltung ist die gut, aber Sie müssen vorsichtig sein, über den Umfang.
Macht die Einstellung der scope hilft?
InformationsquelleAutor RageZ
Mit
cbRegR
wird nicht funktionieren, weil es eine nicht definierte variable. Entwederoder eine differenziertere Betrachtung:
InformationsquelleAutor user123444555621