Замена поля формы через Ajax
Добавлено: 2019.06.23, 13:21
Добрый день, уважаемые форумчане. Есть 2 dropdownlist.
Есть у меня js в котором событие onchange. По этому событию я беру значение предмета из первого dropdownList и в соответствии с ним
хочу вывести как бы новый список через Ajax
после onchange запрос попадает в этот контроллер, который по Ajax выводит кусок кода
кусок кода из себя представляет вот что:
То есть, я как бы заменил один dropdownlist из ActiveForm на свой сгенерированный с помощью HTML хелпера, но!
Я подставил html хелперу, такой же name который был у ActiveForm поля, я рассчитывал, что при нажатии на submit в массиве POST, я увижу этот Name в массиве POST, но получается так, что кнопка submit мой новый список не обрабатывает, может ли кто-то подсказать, почему так происходит и какое решение в связи с этим можно придумать?
Код: Выделить всё
<td class="subjectChanging">
<?= $editForm->field($item,'subject_id')
->dropDownList(['Предметы' => $subjects],
['id' => $item->id ,'value' => $item->subject_id])
->label(false); ?>
</td>
<td class="groupsChanging<?= $item->id ?>">
<?= $editForm->field($item,'group_id')
->dropDownList(['' => 'Не назначена','Группы' => Groups::getGroupsForCurrentSubject($item->subject_id)],
['value' => $item->group_id])
->label(false); ?>
</td>
хочу вывести как бы новый список через Ajax
после onchange запрос попадает в этот контроллер, который по Ajax выводит кусок кода
Код: Выделить всё
public function actionChangeGroupsForSubjects() {
$subject_id = Yii::$app->request->post('subject_id');
$div_id = Yii::$app->request->post('div_id');
return $this->renderAjax('_groupsChanging',compact('subject_id','div_id'));
}
Код: Выделить всё
<?php
use backend\models\Pupils\Groups;
use yii\helpers\Html;
?>
<td style="padding-top:0px; padding-bottom:15px;" class="groupsChanging<?= $div_id ?>">
<?= Html::dropDownList('HometaskTest["group_id"]',
['' => 'Не назначена','Группы' => Groups::getGroupsForCurrentSubject($subject_id)],
['class' => 'form-control']) ?>
</td>
Я подставил html хелперу, такой же name который был у ActiveForm поля, я рассчитывал, что при нажатии на submit в массиве POST, я увижу этот Name в массиве POST, но получается так, что кнопка submit мой новый список не обрабатывает, может ли кто-то подсказать, почему так происходит и какое решение в связи с этим можно придумать?