Php Yii2下拉列表:添加html标记,如数据食品=“…”&引用;我的选择

Php Yii2下拉列表:添加html标记,如数据食品=“…”&引用;我的选择,php,html,yii2,Php,Html,Yii2,我正在使用Yii2构建一个应用程序。我正在使用Yii2提供的Html帮助程序生成下拉列表: <?= Html::dropDownList('food', $food_id, $foodList, ['id'=>'food-select']); ?> 其中,$food_id是默认选中的选项,$foodList是一个数组,包含表示选项值和文本的键值对 它工作得很好,但我需要在我的选项中添加一个html标记(data food=“…”)。大概是这样的: <select i

我正在使用Yii2构建一个应用程序。我正在使用Yii2提供的Html帮助程序生成下拉列表:

<?= Html::dropDownList('food', $food_id, $foodList, ['id'=>'food-select']); ?>

其中,$food_id是默认选中的选项,$foodList是一个数组,包含表示选项值和文本的键值对

它工作得很好,但我需要在我的选项中添加一个html标记(data food=“…”)。大概是这样的:

<select id='food-select'>
    <option id="1" data-food="apple-info">Apple</option>
</select>

苹果

使用Html::dropDownList()方法是否可以实现这一点?还有其他方法吗?

您可以使用
$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']
    ]
]); 
?>
$food_list=[1=>“苹果”,2=>“香蕉”,4=>“橙色”//让我们假设
下拉列表后的输出-

<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>

苹果
香蕉
橙色
从文件中—

选项:数组,选择选项标记的属性。阵列 键必须是有效的选项值,数组值是额外的 相应选项标记的属性