2017-08-05 92 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

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

相关问题