2012-12-12 9 views
5

Ich möchte die cascadeFrom Funktion der Kendo UI ComboBox verwenden, aber zu meiner Bestürzung scheint es, dass diese Option nur eine ID akzeptiert. Jetzt kann ich die ID nicht verwenden, da die Combobox dynamisch und möglicherweise mehrfach hinzugefügt wird, was zu mehreren Steuerelementen mit derselben ID führt.Combobox Cascading benötigt eine spezifischere cascadeFrom Option

Hat jemand irgendwelche Ideen, wie ich entweder ein bestimmtes dom-Objekt an die Kaskade übergeben kann oder wie ich möglicherweise eine benutzerdefinierte Kaskadenfunktion mit dem Ereignis 'change' einrichten könnte?

Antwort

7

Diese Kaskadierungsfunktionalität ist nur ein wenig Zucker, um die Kaskadierung von DropDowns/Combos zu erleichtern.

Grundsätzlich benötigen Sie 4 Dinge verwenden, um manuell selbst, dass die Phantasie cascading- zu implementieren>change Ereignis der Mutter ComboBox-, enable Methode des Kind ComboBox-, value Methode der Mutter ComboBox und die dataSource.read() Methode der Kinder-ComboBox.

Anfangs wird das Kind aktiviert (false), wenn das Änderungsereignis des Elternelements ausgelöst wird, den Wert des Elternelements abrufen und an die read-Methode der untergeordneten dataSource.read() -Methode übergeben, um sie an den Server zu senden. Schließlich die erforderlichen Datensätze vom Server zurückgeben.

function OnChangeOfParentCombo(e){ 
    var child = $('#ChildCombo').data().kendoComboBox; 
    child.enable(true); 
    child.dataSource.read({myFilter:this.value()}); 
} 
+0

Das war großartig! Vielen Dank. – Zholen

+0

Hallo! Können Sie mir helfen, http://Stackoverflow.com/q/23615366/382115 – Maxrunner