我正在使用Yii2构建应用。我正在使用Yii2提供的Html Helper生成下拉列表:
<select id='food-select'>
<option id="1" data-food="apple-info">Apple</option>
</select>
其中$ food_id是默认选择的选项,$ foodList是一个包含表示选项值和文本的键值对的数组。
效果很好,但我需要在我的选项中添加一个html-markup(data-food =“...”)。像这样:
while(I2C0_MCS_R&I2C_MCS_BUSBSY){};
这可以使用Html :: dropDownList()方法吗?反正有吗?
答案 0 :(得分:6)
您可以使用options
数组的$options
参数,如下所示:
$food_list = [1 => 'Apple', 2 => 'Banana', 4 => 'Orange']; //let's assume
<?= Html::dropDownList('food', $food_id, $food_list, [
'id'=>'food-select',
'options' => [
1 => ['data-food'=>'apple-info'], //index must be same as the option value
2 => ['data-food'=>'banana-info'],
4 => ['data-food'=>'orange-info']
]
]);
?>
下拉列表后的输出 -
<select id="food-select" name="food">
<option value="1" data-food="apple-info">Apple</option>
<option value="2" data-food="banana-info">Banana</option>
<option value="4" data-food="orange-info">Orange</option>
</select>
来自文档 - http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#dropDownList()-detail
options:array,select选项标签的属性。阵列 键必须是有效的选项值,并且数组值是额外的 相应选项标签的属性。