【问题标题】:Checked Checkbox in Yii2 Gridview by pjax通过 pjax 在 Yii2 Gridview 中选中复选框
【发布时间】:2018-02-11 10:51:33
【问题描述】:

我正在为 gridview yii2 中的 gridview 复选框而苦苦挣扎。对于复选框, 我可以使用

'class' => 'kartik\grid\CheckboxColumn', 扩展自

'class' => 'yii\grid\CheckboxColumn',

所以,完整的代码在 gridview 中:

  GridView::widget([
      'id' => 'crud-datatable',
      'dataProvider' => $dataProvider,
      'filterModel' => $searchModel,
      'pjax' => true,
      'columns' => require(__DIR__ . '/_columns.php'),

column.php 是:

return [
[
    'class' => 'yii\grid\CheckboxColumn',
    'checkboxOptions' => function($model, $key, $index, $column) {

    }
], ... /*bunch column here */

我的问题是,我如何通过 pjax 选中此复选框。因为我有一个像这样来自 pjax 的数据:

$js = <<<JS
$(document).on('pjax:complete', function(data){
        var datas = $('#print-sticker-keren').attr('data-print');
        /* result e.g : 2297,2275,2321,2317,2315
              I was wondering like function php's in_array.
        */ 
    });
JS;

$this->registerJs($js);

【问题讨论】:

    标签: gridview checkbox yii2


    【解决方案1】:

    在您的复选框选项中,检查复选框的值是否处于活动状态,并根据该状态添加一个类,例如

    'checkboxOptions' => function($model, $key, $index, $column) {
           if($model->active == 1)
              $class = 'ticked';
           else
              $class = 'unticked';
           return ['class' => $class];
    
        }
    

    在你的 jquery 函数中写

    $(document).on('pjax:complete', function(data){
            var datas = $('#print-sticker-keren').attr('data-print');
            $('.ticked').attr("checked",true);
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多