簡體   English   中英

復選框列在使用Modal的yii2 gridview中不起作用

[英]Checkbox column not Working in yii2 gridview with Modal

我有一個gridview。 它顯示了大學中可用的部門。 當我單擊該行時,它將填充模態,並且在kartik gridview中顯示可用於所選部門的講師。

在這種情況下,我正在使用kartik / grid / CheckboxColumn。

但是,當我單擊“復選框”並通過javacript獲取選定的行時,它不會返回與記錄關聯的主鍵。 如果我在不使用模式的情況下執行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'],
    ],
]); ?>

如果要使用yii \\ grid \\ CheckboxColumn,請嘗試以下操作:

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            [
                'class' => 'yii\grid\CheckboxColumn', 
                'checkboxOptions' => function($model, $key, $index, $column) {
                    return ['value' => $model->your_id];
                },
            ],
         .
         .
])?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM