dropDownList + JS

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

dropDownList + JS

Сообщение evnazar4 »

View:

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

<?= $form->field($model, 'status')->dropDownList([
                        '0' => 'Статус 1',
                        '1' => 'Статус 2',
                        '2' => 'Статус 3',
                        '3' => 'Статус 4',
                        '4' => 'Статус 5',
                        '5' => 'Статус 6',
                    ]);?>
 <?= $form->field($model, 'cancellation')->hiddenInput(['maxlength' => true])->label(false) ?>                   
Задача: При выборе например статуса 6, сделать что бы поле cancellation перестало быть hiddenInput. И желательно обязательным для заполнения при выборе этого статуса
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: dropDownList + JS

Сообщение proctoleha »

evnazar4 писал(а): 2019.02.06, 12:12 Задача: При выборе например статуса 6, сделать что бы поле cancellation перестало быть hiddenInput. И желательно обязательным для заполнения при выборе этого статуса

При чем тут Yii2? Это голый js.
Вот у нас есть узел DOM дерева с id my-dropdown
При наступлении события change этого узла я хочу .... (описываем, что должно произойти).
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Re: dropDownList + JS

Сообщение evnazar4 »

Хорошо, а как в этом случае использовать правила валидации? Ведь при hiddenInput, модель не сохраняется и требует заполнить поле которое скрыто.... Спасибо.

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

public function rules()
    {
        return [
            [['name'], 'required'],
     }
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: dropDownList + JS

Сообщение someweb »

Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Re: dropDownList + JS

Сообщение evnazar4 »

Как dropDownList задать свойство onChange
Чтоб было так:

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

<select id='effectTypes' size=1 onChange='StatusSelect();' >
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Re: dropDownList + JS

Сообщение evnazar4 »

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

<?= $form->field($model, 'status')->dropDownList([
                        '0' => '1',
                        '1' => '2',
                        '2' => '3',
                       
                    ],['onchange'=>'StatusSelect();']);?>
Сам разобрался)
Ответить