Yii2 在 select > 选项列表中添加额外的属性
Yii2 add extra attribute in select > options list
如何在所有选项列表中添加额外的属性,如下面的屏幕截图state_id=1
。
<?= $form->field($model, 'district_id')->dropDownList(ArrayHelper::map($Districts, 'id', 'name')) ?>
您需要遍历 $Districts
数组并将要添加的所有属性关联到下拉列表的 <option>
,我假设您的 $Districts
数组有类似以下
$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
)
)
现在,在创建下拉列表时,您应该将此数组传递给 dropdownList()
的 options
选项,见下文
echo $form->field($model, 'district_id')->dropDownList(
$Districts,
['options' => $optionAttributes]
);
现在,如果您看到页面的来源,它会显示如下所示的下拉列表
<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>
如何在所有选项列表中添加额外的属性,如下面的屏幕截图state_id=1
。
<?= $form->field($model, 'district_id')->dropDownList(ArrayHelper::map($Districts, 'id', 'name')) ?>
您需要遍历 $Districts
数组并将要添加的所有属性关联到下拉列表的 <option>
,我假设您的 $Districts
数组有类似以下
$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
)
)
现在,在创建下拉列表时,您应该将此数组传递给 dropdownList()
的 options
选项,见下文
echo $form->field($model, 'district_id')->dropDownList(
$Districts,
['options' => $optionAttributes]
);
现在,如果您看到页面的来源,它会显示如下所示的下拉列表
<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>