这是我视图中的代码:
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'。
我怎样才能获得价值?
答案 0 :(得分:2)
使用array_combine(doc here)
$usernames = array_combine($usernames, $usernames);
...
答案 1 :(得分:0)
这样给出
$username = array('name1'=>'Name1','name2'=>'Name2'...);