2016-12-26 30 views
3

我正在使用Yii2構建應用程序。我生成使用由Yii2提供的HTML輔助下拉列表:Yii2下拉列表:將data-food =「...」等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()方法嗎?無論如何去做?

回答

5

可以使用$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

選項:數組,選擇選項標籤的屬性。數組 鍵必須是有效的選項值,並且數組值是相應選項標記的額外 屬性。

相關問題