也概括一下:
在可以访问表单助手的视图中
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'key1' => 'val1',
'key2' => 'val2',
),
));
?>
以上将呈现带有两个选项的选择输入。您也可以将空选项作为第一项。传递 true 值将简单地将带有空白值的空选项附加到 HTML 中呈现的选项的开头。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'key1' => 'val1',
'key2' => 'val2',
),
'empty' => true,
));
?>
您可以将字符串传递给“空”键,使其将自定义文本显示为空选项的键字段。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'California' => 'CA',
'Oregon' => 'OR',
),
'empty' => 'choose a state',
));
?>
最后一个示例,您还可以使用所选键预先选择一个选项。该值应与选择选项之一的值匹配,而不是键。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'California' => 'CA',
'Oregon' => 'OR',
),
'empty' => 'choose a state',
'selected' => 'California',
));
?>
从模型
Model->find( 'list', array( ... ));
将始终返回格式化为与选择框选项一起使用的数组。如果您将数据传递到存储在具有小写复数模型名称的变量中的视图中,即( $this->set( 'categories', $categories );
,那么您将通过在视图中使用表单助手并传递相同模型的数据索引来自动为相关模型生成下拉列表以“_id”为后缀的单数形式的名称。
阿齐兹在#2 的回答就是自动魔法发挥作用的一个例子。