2017-08-05 49 views
1

我要生成一個下拉爲每個option項目像這樣的附加屬性:Yii2 DROPDOWNLIST:添加屬性爲每個項目

<select> 
    <option value="1" data-height="45">item 1</option> 
    <option value="2" data-height="70">item 2</option> 
    <option value="3" data-height="10">item 3</option> 
</select> 

在那裏產生的呢,因爲這沒有糾正例如有道:

DB模式,retrived行:

[ 
{id: 1, name: "item 1", height: 45}, 
{id: 2, name: "item 2", height: 70}, 
{id: 3, name: "item 3", height: 10}, 
] 

PHP:

<?php 
$form->field($model, $attribute)->dropDownList($items_array, $options, function($item) { 
    return "<option value='{$item->id}' data-height='{$item->height}'>{$item->name}</option>"; 
}) 
?> 
+0

'{從這一行中的模型1中的東西'對每個選項都是一樣的嗎? –

+0

@EdvinTenovimas它的值在每一行變得不同 –

+0

但是你如何能夠確定它應該在每一行(行號等)?你能舉個例子,你想從模型中插入什麼? –

回答

0
<?php 
// Get Array from Database 
    $items_array = ArrayHelper::map(ModelName::find()->asArray()->all(),'id','name'); 
?> 
<?= $form->field($model, 'designation')->dropDownList($items_array,['prompt' => 'Select Any One', 'data-height="45",'class' => 'form-control']); ?> 
+0

你能描述一下嗎?! 它似乎沒有工作。 –