使用Cakephp在select中显示重复的选项值
使用Cakephp 1.3中的form helper,我试图显示一个列表(下拉列表),其中包含几个重复的值字段(当然在使用Cakephp在select中显示重复的选项值,cakephp,select,duplicates,options,Cakephp,Select,Duplicates,Options,使用Cakephp 1.3中的form helper,我试图显示一个列表(下拉列表),其中包含几个重复的值字段(当然在标记中),但cake似乎不想让我这样做,只输出每个值的第一次出现 例如,下面是$form->input的“options”数组: array( 0 => 'description 0', 0 => 'description 1', 0 => 'description 2', 1 => 'description 3' );
标记中),但cake似乎不想让我这样做,只输出每个值的第一次出现
例如,下面是$form->input的“options”数组:
array(
0 => 'description 0',
0 => 'description 1',
0 => 'description 2',
1 => 'description 3'
);
这将输出如下内容:
<select>
<option value="0">description 0</option>
<option value="1">description 3</option>
</select>
说明0
说明3
我在寻找这个结果:
<select>
<option value="0">description 0</option>
<option value="0">description 1</option>
<option value="0">description 2</option>
<option value="1">description 3</option>
</select>
说明0
说明1
说明2
说明3
干杯,
Nicolas.因此,我担心问题比我最初想象的要严重,这是由PHP造成的,PHP(显然)不允许重复密钥 下面是我的解决方案(如果有人感兴趣):
复制到新帮助程序中
foreach($name=>$title形式的元素){
by:
foreach($title=>$name形式的元素){
如何使用它:
选项数组:数组('description'=>'键);
$form->input
,不如执行$yourheloper->input
Nicolas。当然,在PHP中,在数组中不能使用同一个键两次 但正如在这个蛋糕上所说的,我们知道如何在2.x中制作具有相同值的多个键:
$options = array(
...
array('name' => 'United states', 'value' => 'USA'),
array('name' => 'USA', 'value' => 'USA'),
);
$html = $this->Form->select('field', $options);
导致
<option value="USA">United states</option>
<option value="USA">USA</option>
美国
美国
正如你所看到的,你在这里得到了你的价值两次(当然更多)
请参阅表单帮助器类本身的文档(cake2.x)。
不过,不确定1.3是否已经支持它
如果你升级,你将能够利用所有的蛋糕的最新魔术