Показ поля формы только при выборе определенного значения другого поля, из коробки есть?

В фреймворке Yii есть встроенная поддержка для динамического отображения полей формы в зависимости от значения другого поля. Это можно реализовать с помощью Javascript и AJAX.

Для начала вам понадобится настроить модели и форму для работы с полями. Создайте модели для каждого поля, которые вы хотите показывать или скрывать, и добавьте соответствующие атрибуты в них.

В самой форме вы должны добавить элементы управления для поля, значение которого будет использоваться для определения отображения других полей. Вы можете использовать элемент <select> или <input type="radio"> с необходимыми значениями. Обработка события изменения значения элемента будет выполняться с помощью JavaScript.

Станьте зависимостью между полями, вам нужно определить идентификаторы полей, которые должны скрываться или показываться в зависимости от значения другого поля.

После этого вам нужно написать JavaScript-код, который будет обрабатывать событие изменения значения элемента управления. Вы можете использовать функцию $(selector).change() селектора jQuery, чтобы добавить обработчик событий на элемент управления.

Внутри обработчика событий вам нужно получить текущее значение элемента управления, с помощью функции $(selector).val(). Затем можно использовать условные операторы принять решение по отображению или скрытию других полей на основе этого значения. Для скрытия или показа полей вы можете использовать функции jQuery, такие как .hide() и .show().

Также вам понадобится определить местоположение и настройки URL-адресов для AJAX-запросов. Вы можете использовать Url::to(['controller/action']) для генерации URL-адресов, которые соответствуют вашим контроллерам и действиям.

В контроллере вы должны иметь действие, которое будет обрабатывать AJAX-запрос, возвращать данные, которые будут использоваться для отображения или скрытия полей формы. В зависимости от запроса, ваше действие может проверить значение поля и вернуть JSON-ответ с флагом, указывающим, должны ли быть видимыми или скрытыми заданные поля.

Возвращенные данные могут быть обработаны вашим JavaScript-кодом AJAX, и затем вы можете скрывать или показывать поля на основе полученных данных.

В целом, Yii предлагает множество возможностей для создания динамических форм с помощью AJAX и JavaScript, и вышеупомянутый подход является только одним из многих вариантов реализации. Важно учитывать требования и специфику вашего приложения, чтобы выбрать оптимальное решение.