【发布时间】:2017-04-27 10:58:43
【问题描述】:
我正在尝试在 Yii2 中创建一个依赖 dropDownList。我正在尝试使用 DepDrop Widget,但我不明白如何根据我的情况编辑代码。我有 1 个模型,在其中我需要制作类别下拉列表,根据 category_id,下一个 dropDownList 应该是 Item。 (F.e 如果我选择类别 1,则 Item 应该是 Item1 等等)。
我猜这个扩展只能做相同型号的下拉菜单?我是 Yii2 的新手,所以。
我的view 文件:
<div class="site-create">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'code') ?>
<?= $form->field($category, 'id')->dropDownList($category, ['id'=>'category-id']); ?>
<?= $form->field($item, 'subcat')->widget(DepDrop::Item(), [
'options'=>['id'=>'item-id'],
'pluginOptions'=>[
'depends'=>['category-id'],
'placeholder'=>'Select...',
'url'=>Url::to(['/site/subcat'])
]
]); ?>
我的$model 与$category 和$item 的型号不同。我将这些变量设置为在操作中使用不同的模型
这是我的action:
public function actionSubcat() {
$category = new Category();
$item = new Item();
$out = [];
if (isset($_POST['depdrop_parents'])) {
$parents = $_POST['depdrop_parents'];
if ($parents != null) {
$cat_id = $parents[0];
$out = self::getSubCatList($cat_id);
echo Json::encode(['output'=>$out, 'selected'=>'']);
return $this->render('create', [
'category' => $category,
'item' => $item,
]);
}
}
echo Json::encode(['output'=>'', 'selected'=>'']);
}
}
现在我收到$category 变量未定义的错误消息。有人可以解释一下我做错了什么吗?
【问题讨论】:
标签: yii2