я всего навсего заменяю значения для dropdownlist при изменении значения другого поля:
function replaceCarsDropDown()
{
$.ajax({
url : '$urlGetDrivers',
type : 'post',
data : {
id : $('#panel_car_value_select2').val(),
//order_id: $model->id
},
success : function(data){
$('#panel-driver_id').empty();
$('#panel-driver_id').append($(data).children());
}
})
}
Где
$('#panel-driver_id') айди dropdown листа
Данные сервер возвращает так:
$result = $car->getDrivers();
$arr = [];
if ($result)
{
foreach ($result as $key => $item)
{
$arr[$item['id']] = $item['name'].' '.$item['surname'];
}
}
$return = Html::dropDownList('drop', null, $arr, [
'prompt' => '-- Выберите --'
]);
Примерный результат запроса:
"
<select name=\"drop\">\n<option value=\"\">-- Выберите --</option>\n<option value=\"2\">asdf adf</option>\n</select>"