我正在开发一个CakePHP 2.3.2的应用程序,我在输入选择表单时遇到了一些麻烦。我在我的Controller中创建一个数组,其中包含一个状态列表。在我看来,我发现,当我在输入的'选项'字段中使用这个变量时,我没有得到任何选择选项。如果我在变量上做一个print_r,在视图中,我确切地看到我认为我应该看到的'选项'字段。我甚至试图复制这个print_r的输出,并把它放在'选项'字段,然后输入选择正常工作。CakePHP - 输入选择不从变量中选择选项
这里是我有什么
在控制器
$options = 'array(1 => \'NSW\',2 => \'ACT\',3 => \'NT\');
$this->set('all_states, $options);
在查看
<?php
$options = $all_states;
echo $this->Form->create('Refine', array('url => '/ServiceDirectoryResults/view/refine'));
echo $this->Form->input('field' ,array(
'type' => 'select',
'label' => false,
'options' => $options
));
echo $this->Form->end('Refine Search');
?>
当我运行此我看到一个选择,没有选择的选择
如果我添加echo $ this-> Form-> end('Refine Search')后面的print_r($ options);我看到
array(1 => 'NSW',2 => 'ACT,3 => 'NT')
这是我所期待的,因为它是的$选项变量,它是$ all_states变量从控制器传递的内容。如果我从print_r中获取这个输出,并在输入中将它替换为$选项,那么选择下拉菜单可以正常工作,并且我看到了三个选项。出于某种原因,我不能解决选择工作正常,如果我硬编码的选择选项,但它不会工作,如果我传递一个变量包含数组到输入选择。
我真的很感激,如果有人能给我一个线索我在做什么错在这里。
亲切的问候
理查德
请确保提供的代码完全反映了您的代码......即使您使用StackOverflow颜色编码也可以看到,整个过程中都缺少引号,并且不知道这是否是代码问题,或者你的问题只是一个错字。 – Dave 2013-04-28 19:39:55