如果您使用的是 Cake 2.x,那么您可以让它FormHelper
为您执行此操作,您只需要正确格式化选项数据,并且正确地我的意思是一个包含数组的数组,其中至少包含元素文本的键name
和属性,所有附加条目将被映射为属性,其中键用作属性名称,值用作属性值。value
option
id
https://github.com/cakephp/cakephp/blob/2.0.2/lib/Cake/View/Helper/FormHelper.php#L2325
这是一个未经测试的示例。选项数据应如下所示:
$options = array
(
array
(
'name' => 'employee-a',
'value' => 1,
'data-age' => 20,
),
array
(
'name' => 'employee-b',
'value' => 2,
'data-age' => 30,
),
array
(
'name' => 'employee-c',
'value' => 3,
'data-age' => 40,
),
);
然后将其传递给创建select
元素的表单助手:
echo $this->Form->input('employee_id', array('type' => 'select', 'options' => $options));
这应该生成以下 HTML:
<select id="ModelEmployeeId" name="data[Model][employee_id]">
<option value="1" data-age="20">employee-a</option>
<option value="2" data-age="30">employee-b</option>
<option value="3" data-age="40">employee-c</option>
</select>