Я пытаюсь связать событие onChange
одного FilteringSelect
для заполнения другого FilteringSelect
.Заполнение фильтрацииВыберите хранилище данных из события onChange
// 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 }
);
});
});
JSON генерируется из того, что я могу правильно сказать от контроллера действий Zend с помощью autoCompleteDojo
помощника.
// 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);
}
Я получаю JSON от удаленного хранилища данных правильно, но не заполняет второй FilteringSelect
. Есть ли что-то еще, что мне нужно сделать, чтобы нажать JSON на FilteringSelect
?
На самом деле все, что вам нужно сделать, это установить для поиска элемент поиска в элементе управления, чтобы он работал. Вы можете добавить его в HTML (searchAttr = "description") или в JS (filteringSelect2.searchAttr = "description"). –
Вы действительно должны ответить на этот комментарий, поскольку он действительно имеет большое значение для вопроса сейчас, и я бы хотел дать ему голосование. – Erik