Der Tagfilter ist ein passendes Beispiel. Dabei würde ich auch die Wahl zwischen einem Dropdown (=Einzelauswahl) und einer Liste (=Einzel- oder Mehrfachauswahl) haben wollen.
Ob man die Werte vorab definieren und in den ausgelieferten (und gecachten) HTML-code einbetten kann, oder man ihn zur Laufzeit bei Änderung einer Option via AJAX lädt, lässt sich vermutlich nicht entscheiden. Es wird beide Fälle brauchen.
In jedem Fall bedarf es einer Syntax wie man die Menüs definiert, ihnen eine Quelle und einen Typ (s.o.) mitgibt und natürlich auch was nach einer Auswahländerung geschehen soll. Auch müsste man einen Grundwert angeben können, denn so lassen sich Auswahlboxen von bestehenden Datensätzen gleich mit der letzten Auswahl öffnen.
a) opt1, type=dropdown, source="database... SQL-statement", default=NULL
b) opt1, type=multiselect, source="datatable field...", default=NULL
opt2, type=selectbox, source="datatable field...", default=NULL
c) opt1, type=selectbox, source="http://...ajax", default=NULL
opt2, type=selectbox, source="http://...ajax", default=NULL, parent=opt1
Über die angegebene Quelle ist klar wie die Initialwerte populiert werden. Über eine art "parent" (hier in Beispiel c) könnte man die Verkettung definieren. Oder aber die natürliche Reihenfolge ergibt die Verkettung (beispiel b), was mir fast besser gefällt, weil es auch die Reihenfolge der gerenderten Auswahlboxen definiert.