0

我正在尝试使用 Zend 框架在启用了 Dojo 的表单上进行过滤选择工作。该表单允许用户更新其个人资料的详细信息,例如地址、网址等。然而,表单中的元素正在使用过滤选择来处理国家和州/县等内容。

我想用我在填充表单时传递给表单的值将其设为默认值,但这不起作用。

我正在填写表格

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

$country 将是英国、法国、西班牙等值...

这些值存储在数据库中的 [id]、[name] 表中。Zend 表单中的元素访问哪个

$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

在直接道场中,您可以这样做:

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

您应该可以添加:

  ->setAttrib('value',$newValue)
于 2009-07-27T03:40:54.547 回答
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 回答