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

Yii2在选择中添加额外属性>;选项列表,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,如何在所有选项列表中添加一个额外属性,如下面的屏幕截图state_id=1 <?= $form->field($model, 'district_id')->dropDownList(ArrayHelper::map($Districts, 'id', 'name')) ?> 您需要遍历$Districts数组,并将要添加到下拉列表的所有属性关联起来,我假设您的$Districts数组如下所示 $Districts=[ 1=>"North Andama

如何在所有选项列表中添加一个额外属性,如下面的屏幕截图
state_id=1

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


您需要遍历
$Districts
数组,并将要添加到下拉列表
的所有属性关联起来,我假设您的
$Districts
数组如下所示

$Districts=[
    1=>"North Andaman",
    2=>"South Andaman"
    3=>"Nicobar"
];
<select id="contacts-district_id" name="Contacts[district_id]" class="form-control">
    <option value="1" my-attr="value">North Andaman</option>
    <option value="2" my-attr="value">South Andaman</option>
    <option value="3" my-attr="value">Nicobar</option>
</select>
现在需要迭代该数组,并将属性与每个选项相关联

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
        )

)
现在,在创建下拉列表时,您应该将此数组传递给
dropdownList()
options
选项

echo $form->field($model, 'district_id')->dropDownList(
    $Districts,
    ['options' => $optionAttributes]
);
现在,如果您看到页面的来源,它将显示下拉列表,如下所示

$Districts=[
    1=>"North Andaman",
    2=>"South Andaman"
    3=>"Nicobar"
];
<select id="contacts-district_id" name="Contacts[district_id]" class="form-control">
    <option value="1" my-attr="value">North Andaman</option>
    <option value="2" my-attr="value">South Andaman</option>
    <option value="3" my-attr="value">Nicobar</option>
</select>

北安达曼
南安达曼
尼科巴

您需要遍历
$Districts
数组,并将要添加到下拉列表的
中的所有属性关联起来,我假设您的
$Districts
数组如下所示

$Districts=[
    1=>"North Andaman",
    2=>"South Andaman"
    3=>"Nicobar"
];
<select id="contacts-district_id" name="Contacts[district_id]" class="form-control">
    <option value="1" my-attr="value">North Andaman</option>
    <option value="2" my-attr="value">South Andaman</option>
    <option value="3" my-attr="value">Nicobar</option>
</select>
现在需要迭代该数组,并将属性与每个选项相关联

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
        )

)
现在,在创建下拉列表时,您应该将此数组传递给
dropdownList()
options
选项

echo $form->field($model, 'district_id')->dropDownList(
    $Districts,
    ['options' => $optionAttributes]
);
现在,如果您看到页面的来源,它将显示下拉列表,如下所示

$Districts=[
    1=>"North Andaman",
    2=>"South Andaman"
    3=>"Nicobar"
];
<select id="contacts-district_id" name="Contacts[district_id]" class="form-control">
    <option value="1" my-attr="value">North Andaman</option>
    <option value="2" my-attr="value">South Andaman</option>
    <option value="3" my-attr="value">Nicobar</option>
</select>

北安达曼
南安达曼
尼科巴

显示您的代码片段显示您的代码片段