Yii2在选择>选项列表中添加额外的属性

时间:2019-02-01 08:59:11

标签: yii2 yii2-advanced-app

如何在所有选项列表的屏幕快照state_id=1中添加额外的属性。

<?= $form->field($model, 'district_id')->dropDownList(ArrayHelper::map($Districts, 'id', 'name')) ?>

screenshot of form

1 个答案:

答案 0 :(得分:1)

您需要遍历$Districts数组并将所有要添加到下拉列表的<option>的属性相关联,我假设您的$Districts数组具有如下内容< / p>

$Districts=[
    1=>"North Andaman",
    2=>"South Andaman"
    3=>"Nicobar"
];

现在,您需要迭代该数组并将属性与每个选项相关联

foreach ($Districts as $id => $name) {
    $optionAttributes[$id] = ['my-attr' => 'value'];
}

以上内容将为您显示

Array
(
    [1] => Array
        (
            [my-attr] => value
        )

    [2] => Array
        (
            [my-attr] => value
        )

    [3] => Array
        (
            [my-attr] => value
        )

)

现在,在创建下拉列表时,您应该将此数组传递给options的{​​{1}}选项,请参见下文

dropdownList()

现在,如果您看到页面的来源,它将显示如下所示的下拉列表

echo $form->field($model, 'district_id')->dropDownList(
    $Districts,
    ['options' => $optionAttributes]
);