Как сделать placeholder в listBox

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Evoluter
Сообщения: 2
Зарегистрирован: 2018.08.06, 14:26

Как сделать placeholder в listBox

Сообщение Evoluter »

День добрый ! Очень прошу помочь.

Необходимо, чтобы в поле listBoxt, был placeholder, что-то типа "Выбрать роль пользователю", т.е. сообщение которое видит пользователь не выбирая ничего в листбокск. Но при этом должна быть включенная опция 'prompt' =>'убрать роль' для того чтобы пользователь мог убрать роль через выпадающий список.

Можно ли это сделать через стандартный функционал Yii не прибегая к JS ?
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Как сделать placeholder в listBox

Сообщение yiijeka »

Хм, prompt это же и есть placeholder ...

Хотя можно наверное так:

Код: Выделить всё

<select>
    <option value="---" disabled selected>Выбрать роль пользователю</option>
     <option value="">убрать роль</option>
    <option value="hurr">Durr</option>
</select>
Чтобы этого добиться и в нужном порядке, требуется поколдовать с набором данных и настройкой prompt

https://stackoverflow.com/questions/433 ... st-in-yii2
Evoluter
Сообщения: 2
Зарегистрирован: 2018.08.06, 14:26

Re: Как сделать placeholder в listBox

Сообщение Evoluter »

Да, примерно так как вы показали в примере, но "Выбрать роль пользователю" была бы не просто disabled при выборе, а не отображалась в селекте.

Вот так: https://jsfiddle.net/309dftxs/12/
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Как сделать placeholder в listBox

Сообщение yiijeka »

Код: Выделить всё

<?= $form->field($formModel, userRole')->dropDownList(\yii\helpers\ArrayHelper::merge([''=>'убрать роль'], $items),
                       [
                         'class' => 'form-control', 
                         'required' => true,
                         'prompt' => [
                             'text' => 'Выбрать роль пользователю',
                             'options'=> ['disabled' => 'disabled', 'selected' => 'selected', 'hidden'=>'true']
                          ]
                        ]); ?>
Ответить