我有一个带有Select元素集合的Zend_Form。我想增加该集合中的元素数量,同时保留之前做出的任何选择(之前的选择存储在POST请求中)。
我使用$form->setData($data);
将POST请求中的值保存到Zend_Form。
然后我使用$form->get('countryTest')->setCount(9);
尝试增加Collection中Selection元素的数量。但是,与setCount()
结合使用时,setData()
似乎不会更改计数。知道为什么吗?我该怎么做呢?
我的收藏:
$this->add(array(
'name' => 'countryTest',
'type' => 'Collection',
'options' => array(
'label' => '',
'count' => 3,
'should_create_template' => true,
'target_element' => array(
'type' => 'Select',
'options' => array(
'label' => 'Country',
),
),
),
));
修改
我还尝试使用setData()
在Collection和THEN中构造一个包含更多元素的新Zend_Form,但这样做似乎可以将Collection中的元素数量减少到数据中的元素数量(可能与预期一样)。
答案 0 :(得分:0)
找到解决方案:
将我想要的元素数量(以键的形式)传递给setData()
。