0

Zend Framework を使用して、Dojo 対応フォームでフィルタリング選択を機能させようとしています。このフォームを使用すると、ユーザーは自分のプロファイルのアドレス、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 でこれを行う特定の方法はありますか?

前もって感謝します...

4

2 に答える 2

3

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

于 2010-07-31T02:52:30.083 に答える
3

まっすぐな道場では、これを行うことができます:

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

追加するだけでよいはずです:

  ->setAttrib('value',$newValue)
于 2009-07-27T03:40:54.547 に答える