Yii2 добавить дополнительный атрибут в выберите> список параметров - PullRequest
0 голосов
/ 01 февраля 2019

Как добавить дополнительный атрибут, как показано на скриншоте ниже state_id=1 в списке параметров для всех.

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

screenshot of form

1 Ответ

0 голосов
/ 01 февраля 2019

Вам нужно перебрать массив $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
        )

)

Теперь при создании выпадающего списка вы должны передать этомассив для options опции dropdownList(), см. ниже

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>
...