Доброе утро.
Возможно Вам поможет 
этот виджет и 
статья.
Кроме официальной документации вот ещё одна подсказка, возможно натолкнёт Вас на решение.
Обработать выпадающий список можно примерно так:
$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 и фильтрация по параметру надо делать.