Cakephp从下拉列表中获取价值

时间:2012-03-22 23:44:40

标签: cakephp drop-down-menu

这是我视图中的代码:

echo $this->Form->create('Chart');
echo $this->Form->input('username',
        array('label'=>('Usernames List'),
        'empty'=>('Select username'),
        'options'=>$usernames, 'selected'=>false));
echo $this->Form->input('month',
        array('label'=>('Month'),
        'empty'=>('Select month'),
        'options'=>$months, 'selected'=>false));?>
echo $this->Form->input('year',
        array('label'=>('Year'),
        'empty'=>(date('Y')),
        'options' => $years, 'selected'=>false));
echo $this->Form->end('Create Chart');

在我的控制器中,我尝试从上面的下拉列表中获取值,这是我的代码:

if (!empty($this->data)) {
            $username = $this->data['Chart']['username'];
            $month = $this->data['Chart']['month'];
                        $year = $this->data['Chart']['year'];
        }

但我在$ username,$ month和$ year变量中得到的是下拉列表中元素的索引,而不是值。例如,如果我在年度droddownlist中选择2012,我得到'0',但我需要的是'2012'。

我怎样才能获得价值?

2 个答案:

答案 0 :(得分:2)

使用array_combine(doc here

$usernames = array_combine($usernames, $usernames);
...

答案 1 :(得分:0)

这样给出

$username = array('name1'=>'Name1','name2'=>'Name2'...);