在我的yii2项目中,我有一个带有简单复选框列的gridview。
<?=
GridView::widget([
'id' => 'gridwithcheckboxes',
'dataProvider' => $dataProvider,
'columns' => [
['attribute' => 'a', 'value' => 'tabfora.a'],
['attribute' => 'b', 'value' => 'tabforb.b'],
'user',
'mobile',
'description',
['class' => 'yii\grid\CheckboxColumn'],
],
]);
&GT;
我知道我可以通过这个js帮助器获取复选框值:
var keys = $('#gridwithcheckboxes').yiiGridView('getSelectedRows');
是否有方法使用javascript将表单提交传递给控制器操作?
感谢您的帮助。
答案 0 :(得分:0)
我使用gridview小部件,包括常规html表单标签中的复选框列,通过$_POST
传递选定的ID。您需要使用value =Yii::$app->request->getCsrfToken()
隐藏输入,否则无效。在控制器中,$_POST['selection]
是所选id的数组。
答案 1 :(得分:0)
通过表单完成此操作的唯一方法实际上是使用表格包装gridview。表单应在gridview之前开始,并在gridview之后结束。您可以有一个或两个提交按钮。 这并不意味着您可以随意使用ajax。