我有一个Zend表单中的多选框(兴趣爱好),在添加用户时我会从中选择多个选项。
现在当我编辑此用户时,我需要默认设置一些选项为已选状态(这些选项是我在添加用户时选择的)。
我该如何实现这个功能?我在控制器的更新操作中使用了populate(Array),但它不起作用。
以下是用户添加/编辑表单中多选框的代码:
$interests = new Zend_Form_Element_Multiselect('interest');
$days->setLabel('Interests')
->addMultiOptions($user_interests)
->setRequired(true)
->addValidator('NotEmpty');
在表单中添加“兴趣”选项时,$user_interests
数组为:
array(1=>'Blogging', 2=>'Swimming', 3=>'Cricket', 4=>'Yoga')
在添加用户时,我已经选择了前两个兴趣爱好。
现在在编辑时,我从数据库查询中获取用户数据。这个数据数组用于填充表单,其结构如下:
Array (
[username] => john
[user_dob] => 1981-03-12
[email] => john@gmail.com
[interest] => Array ( [0] => 1 [1] => 2 )
)
如您所见,在我的编辑表单中,应该选择“博客”和“游泳”这两个兴趣爱好。但我发现只有“游泳”选项被选中了。
interest
键? - Vika