Ich versuche, ein onChange
Ereignis von einem FilteringSelect
zu binden, um ein anderes FilteringSelect
aufzufüllen.Füllen eines FilteringSelect-Datenspeichers aus einem onChange-Ereignis
// View
dojo.addOnLoad(function() {
dojo.connect(dijit.byId('filterselect1'), 'onChange', function() {
dijit.byId('filterselect2').store = new dojo.data.ItemFileReadStore(
{ url: "/test/autocomplete/id/" + dijit.byId("filterselect1").value }
);
});
});
Die JSON erzeugt von dem, was ich einen autoCompleteDojo
Helfer mit korrekt von einem Zend Action Controller berichten.
// Action Controller
public function autocompleteAction()
{
$id = $this->getRequest()->getParam('id');
$select = $this->_table->select()
->from($this->_table, array('id','description'))
->where('id=?',$id);
$data = new Zend_Dojo_Data('id', $this->_table->fetchAll($select)->toArray(), 'description');
$this->_helper->autoCompleteDojo($data);
}
Ich erhalte die JSON vom Remote-Datenspeicher richtig, aber es nicht die zweite FilteringSelect
bevölkern. Gibt es noch etwas, was ich tun muss, um den JSON auf die FilteringSelect
zu schieben?
Eigentlich müssen Sie nur das searchAttr auf das Steuerelement setzen, damit es funktioniert. Sie können es entweder dem HTML (searchAttr = "description") oder dem JS (filteringSelect2.searchAttr = "description") hinzufügen. –
Sie sollten diesen Kommentar wirklich zu einer Antwort machen, da er jetzt wirklich einen hohen Stellenwert für die Frage hat und ich würde ihm gerne eine höhere Stimme geben. – Erik