Доброе утро.
Возможно Вам поможет
этот виджет и
статья.
Кроме официальной документации вот ещё одна подсказка, возможно натолкнёт Вас на решение.
Обработать выпадающий список можно примерно так:
$form->field($model, 'sort')->dropDownList([1 => 'От дорогих', 2 => 'От дешёвых', 3 => 'По популярности', 4 => 'По названию'],
['prompt' => 'Сортировать'),
'onchange' => '
$.post(
"'.Url::toRoute('default/ajax').'", // путь к действию контроллера
{id : $(this).val()}, // значение выбранного элемента списка
function(data){
$("div#city").html(data) // получение результата и подстановка в указанный div
}
)
'])
Действие в контроллере может быть таким:
public function actionAjax()
{
if(Yii::$app->request->isAjax){
// Тут выполняете запрос к базе и возвращаете результат работы запроса.
}
}
Это Вам нужно в пользовательской части сайта сделать, как я понял.
Если в админке, то на основе поисковой модели, выпадающий список для сортировки в gridView и фильтрация по параметру надо делать.