如何在控制器中设置多选的选定值?到目前为止这是我的代码
class Blog_Form_Post extends Zend_Form
{
public function init()
{
...
$this->addElement('multiselect', 'categories', array(
'label' => 'Categories:',
'required' => false,
));
...
$form = new Blog_Form_Post();
$categories = new Blog_Model_DbTable_Categories();
$categories = $categories->fetchAll();
foreach ($categories as $category)
{
// Some of the categories needs to selected by default
$form->getElement('categories')->addMultiOption($category->ID, $category->name);
}
Run Code Online (Sandbox Code Playgroud)
编辑更清楚.我以Aron Rotteveel为例
$multi->setMultiOptions(array(
'foo' => 'Foo',
'bar' => 'Bar',
'baz' => 'Baz',
'bat' => 'Bat',
));
Run Code Online (Sandbox Code Playgroud)
我希望选择Foo和Bar,而在渲染表单时应该取消选择Baz和Bat.IE
<select name="categories[]" id="categories" multiple="multiple">
<option selected="selected" value="foo">foo</option>
<option selected="selected"value="bar">bar</option>
<option value="baz">baz</option>
<option value="bat">bat</option>
</select>
Run Code Online (Sandbox Code Playgroud)
Aro*_*eel 21
您可以传递一组值setValue()
.
数组中的值应与设置multiOptions时传递的键相对应.
$multi->setMultiOptions(array(
'foo' => 'Foo',
'bar' => 'Bar',
'baz' => 'Baz',
'bat' => 'Bat',
));
$multi->setValue(array('foo', 'bar'));
Run Code Online (Sandbox Code Playgroud)
要标记选中的项,需要将值数组传递给setValue().
归档时间: |
|
查看次数: |
32280 次 |
最近记录: |