У меня есть активная форма под _create.php
, основанная на модели Host
, у которой есть раскрывающийся список, основанный на модели DeviceType
. У меня также есть вид сетки ниже активных форм, основанный на ServiceStatuses
и PARTIALLY визуализируется от service.php
. Каждый идентификатор типа устройства имеет разные сервисы. Как я могу сделать содержимое gridview динамически изменяться в зависимости от текущего значения dropdownlist? Должен ли я использовать jquery или ajax?Частичная рендеринг в yii2 activeform
SQL-оператор Я планирую использовать это SELECT id, name from ServiceStatuses where id = *current drop down index*
Вот таблицы:
//Host Machine
id, name, devicetype_id
1 HostA 1
2 HostB 1
3 HostC 2
4 HostD 2
//DeviceType
id, name
1 DeviceA
2 DeviceB
//ServiceStatuses
id, name, host_id
1 ServiceA 1
2 ServiceB 1
3 ServiceC 2
4 ServiceD 2
5 ServiceE 3
6 ServiceF 3
7 ServiceG 4
8 ServiceH 4
_form.php(УВЕРЕНЫ, как передать индекс здесь в качестве параметра service
действия)
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'device_type')->dropDownList($deviceTypeModel, [
'onchange' => 'show($id)']
);
?>
<?php ActiveForm::end(); ?>
wh ич вызывает функцию на мой контроллер
function actionShow($id)
{
$searchModel = new Object;
$dataProvider = $searchModel->search(Yii::$app->request->queryParams, $id);
return $this->renderPartial('service', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
Спасибо, но я не думаю, что это работает для выбранного индекса – Gibs