установка значения по умолчанию в dojo filteringselect

Я пытаюсь заставить фильтрацию работать с формой с поддержкой Dojo, используя Zend Framework. Форма позволяет пользователю обновлять свои данные, такие как адрес, URL-адреса и т. д. для своего профиля. Однако элементы в форме используют фильтрацию для таких вещей, как страна и штат/округ.

Я хочу получить значение по умолчанию со значением, которое я передаю в форму при ее заполнении, однако это не работает.

Я заполняю форму, как

$form->getElement('country')->setValue($country); 

$country будет такими значениями, как Великобритания, Франция, Испания и т. д.

Эти значения хранятся в базе данных в таблице [id], [name]. К которому обращается элемент в Zend Form

$county  = new Zend_Dojo_Form_Element_FilteringSelect('county');
    $county->setRequired(true)
        ->setStoreId('countystore')
        ->setStoreType('dojo.data.ItemFileReadStore')
        ->setStoreParams(array('url' => $baseUrl.'/dojo/counties'))
        ->setAttrib('searchAttr', 'name')
        ->removeDecorator('DtDdWrapper')
        ->removeDecorator('label')
        ->removeDecorator('HtmlTag');

Однако setValue для заполнения/по умолчанию элемента не работает. Есть ли особый способ сделать это с помощью Zend_Forms и Dojo?

Заранее спасибо...


person Grant Collins    schedule 26.07.2009    source источник


Ответы (2)


В прямом додзё вы можете сделать это:

  dijit.byId('myFiltertingSelect').attr('value',newValue);

Вы должны иметь возможность просто добавить:

  ->setAttrib('value',$newValue)
person seth    schedule 27.07.2009

Используя Zend_Dojo_Form_Element_FilteringSelect, это будет работать (ZF 1.10.7):

$form->getElement('country')->setAttrib('displayedValue', $country);

Прямой путь додзё:

dijit.byId('country').attr('displayedValue', newValue);

http://dojotoolkit.org/api/dijit/form/FilteringSelect.html#displayedValue

person dharnan    schedule 31.07.2010