【发布时间】:2016-10-09 22:33:52
【问题描述】:
我有一个 gridview 。它显示了大学中可用的部门。 当我单击该行时,它会填充模态,并在 kartik gridview 中显示可用于所选部门的讲师。
我正在使用 kartik/grid/CheckboxColumn。
但是当我单击复选框并通过 javacript 获取选定的行时,它不会返回与记录关联的主键。 如果我在没有 modal 的情况下执行 gridview,那么它工作正常
$this->registerJs("
$('#lect-logout').click(function() {
var key = $('#w0-container').yiiGridView('getSelectedRows');
alert(key);
$.post(
'?r=lec-logout/logout',
{
id: $('#w0').yiiGridView('getSelectedRows'),
},
function (data) {
alert("ok");
}
);
});
");
如何在模式中使用该复选框。即使我单击复选框中的全选选项。它不会选择所有行。
控制器代码
public function actionIndex()
{
$searchModel = new CollegeSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
}
public function actionLecture()
{
$model = new Accounts();
if ($model->load(Yii::$app->request->post())) {
return $this->redirect(['index']);
}
else{
$searchModel = new LectureSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->renderAjax('lecture', ['searchModel' => $searchModel,'dataProvider' => $dataProvider]);
}
}
查看代码
index.php
<?= GridView::widget([
'dataProvider' => $dataProvider,
'rowOptions' => function($model, $key, $index, $grid) {
return ['id' => $model['account_id'], 'onclick' => 'getrow(this.id)'];
},
'columns' => [
'displayname',
],
]); ?>
<?php Modal::begin([
'id' => 'show-agents-modal',
'size' => 'modal-lg',
'header' => '<h4 class="modal-title">View</h4>',
]);
Modal::end(); ?>
Lecture.php
<div class="pull-right">
<?= Html::Button('Logout',['class'=>'btn btn-primary','id'=>'lect- logout']); ?>
</div>
<br>
<?= GridView::widget([
'dataProvider' => $dataProvider,
// 'filterModel' => $searchModel,
'columns' => [
'first_name,
['class' => 'kartik\grid\CheckboxColumn'],
],
]); ?>
【问题讨论】:
-
输入你的gridview代码
-
试试这个代码
var keys = $('#grid').yiiGridView('getSelectedRows'); -
@GAMITG 它不工作。它显示数据未定义错误并找到我的代码。我用过的。
-
@GAMITG 我无法在单选中选择所有记录,在标题复选框中。
-
使用
yii\grid\CheckboxColumn而不是kartik\grid\CheckboxColumn
标签: php gridview checkbox yii2