DiiIMann/yii2小部件复选框多个需要实现

DiiIMann/yii2小部件复选框多个需要实现,yii,yii2,yii2-advanced-app,yii2-widget,Yii,Yii2,Yii2 Advanced App,Yii2 Widget,我尝试实现这个=> 但我没有得到结果。 当我完成代码时,我得到的是空白页 这里有什么错误?js控制台中有错误吗?我认为问题似乎出在checkboxmultiplewidget的资产包上。JQuery资产缺少Dependes属性。尝试在呈现小部件之前手动注册jQuery。dataAttribute属性在这个小部件的最新版本中似乎也是未知的。。。这对我很有用: <?= $form->field($model, 'template_id')->widget(CheckboxMulti

我尝试实现这个=>

但我没有得到结果。 当我完成代码时,我得到的是空白页


这里有什么错误?

js控制台中有错误吗?我认为问题似乎出在checkboxmultiplewidget的资产包上。JQuery资产缺少Dependes属性。尝试在呈现小部件之前手动注册jQuery。dataAttribute属性在这个小部件的最新版本中似乎也是未知的。。。这对我很有用:

<?= $form->field($model, 'template_id')->widget(CheckboxMultiple::className(), [
  'dataAttribute' => 'template_id',
  scriptOptions' => [450=>'abc',452=>'xyz'],
 'placeholder' => Yii::t('app', 'Select ...'),
]) ?>
其中模板属性是模型中的关系,如下所示:

$this->registerAssetBundle(yii\web\JqueryAsset::className());

echo $form->field($model, 'templates')->widget(CheckboxMultiple::className(), [
    'attributeLabel' => 'templates',
    'placeholder' => Yii::t('app', 'Select ...'),
    'ajax' => [
        'url' => Url::toRoute(['/site/templates']),
    ],
]);
以及在SiteController操作模板中:

public function getTemplates()
{
    return $this->hasMany(TemplateModel::className(), ['owner_id' => 'id']);
}
在本例中,我使用带有以下列的表模板:id、name和owner\u id。
您应该将上述脚本修改为您的模型和属性名称。

我将在MondayNetworker上尝试此操作错误:500内部服务器错误-此错误显示在js控制台或查看页面中?您是否已将ajax url设置到此小部件?如果在控制台中手动运行localhost/physicshs/admin/template group/add,那么会显示什么?我没有任何ajax URL。
public function actionTemplates()
{
    Yii::$app->response->format = 'json';
    $json = new \stdClass();
    $query = new Query();
    $query->select([
        'id' => 'id',
        'text' => 'name'
    ]);
    $query->from(TemplateModel::tableName());
    if ($search = Yii::$app->request->post('search', '')) {
        $query->where(['like', 'name', $search]);
    }
    $query->orderBy([
        'name' => SORT_ASC
    ]);
    if ($itemsId = Yii::$app->request->post('itemsId', [])) {
        $query->andWhere(['not in', 'id', $itemsId]);
    }
    $query->limit(20);
    $command = $query->createCommand();
    $data = $command->queryAll();
    $json->results = array_values($data);

    return $json;
}