<div class="row">
<div class="col-md-4 vcenter">
<?= $form->field($model, 'type_task_filter')->dropDownList(['city1'=>'city1','city2'=>city2'], ['prompt'=>'']); ?>
</div>
</div>
<div class="row">
<div class="col-md-4 vcenter">
<?= $form->field($model, 'type_task_filter')-> ? ?>
</div>
</div>
Собственно в чем вопрос: При выборе выпадающего списка открывается подвязанный к нему и выводит значение из ячейки бд. К примеру, выбираем 'city1' и открывается(появляется) новое поле с данными из ячейки бд. Никак не пойму, методами Yii2 это реализуемо ? Подскажите решение, буду очень благодарен.
На нативе php + ajax это выглядело бы так: один файл, *.php: создаем форму, создаем таблицу задаем
<select id="cityvm" onChange="change_city()">
<option></option>
<?php
$res=mysqli_query($link,"select * from cities");
while($row=mysqli_fetch_array($res))
{
?>
<option value="<?php echo $row["id"]; ?>"><?php echo $row["name"]; ?></option>
<?php
}
?>
</select>
Затем столбец для вывода строки из бд, которому задаем
<div id="street">
Пишем js:
function change_city()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "ajax.php?city="+document.getElementById("cityvm").value, false);
xmlhttp.send(null);
document.getElementById("street").innerHTML=xmlhttp.responseText;
}
И в другом файле ajax.php:
if($city !=""){
$res = mysqli_query($link, "SELECT * FROM streets WHERE city_id = $city");
while ($row = mysqli_fetch_array($res))
{
echo "<option value='$row[id]' selected>";
echo $row["name"];
}
}
И выглядело бы так: