0

使用 Yii 2 ActiveForm,我正在尝试添加一个GridView搜索来选择要添加到关系中的项目(数据库是 MongoDB)

我想包含一个“搜索和选择”GridView小部件,并将项目ActiveForm作为 id 数组添加到模型中。

例如:

<?php $form = ActiveForm::begin();?>
    <?=$form->field($model, 'summary')->textInput()?>

<?=
GridView::widget([
    'id' => 'productSearch',
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'pjax' => true,
    'columns' => [
        'name',
    ],
])
?>
<!-- Display the Assigned Products selected by productSearch --> 
    <?=
GridView::widget([
    'id' => 'assignedProducts',
    'dataProvider' => $model->AssignedProducts,
    'columns' => ([
        'name',
    ]),
]);?>

<?php ActiveForm::end();?>

但是,当我在/标记中包含GridView搜索时,被调用的“POST”会触发表单。ActiveForm::begin()ActiveForm::end()

有没有关于进行这种设置的指南?

还是我需要从头开始创建整个表单?

我知道我很可能不得不使用一些 jQuery 来从GridView正确选择时提取“选定”项目?

4

1 回答 1

0

如果您将 GridView 与 Search 一起使用,则应使用<?= Html::beginForm() ?>ActiveForm 而不是 ActiveForm。要获取复选框,而不是 Javascript,您可以在表单发布上获取复选框的 ID。看看这个:如何处理来自 Yii2 gridview 的复选框列?

于 2021-11-14T02:13:07.410 回答