2017-09-02 4 views
0

Ich kämpfe mit Gridview Checkbox in Gridview yii2. Für Checkbox kann ichChecked Checkbox in Yii2 Gridview von pjax

'class' => 'kartik\grid\CheckboxColumn',, die sich aus

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

also der vollständige Code in gridview ist:

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

Welche column.php ist:

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

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

Meine Frage ist, wie kann ich dieses Kontrollkästchen von pjax überprüft. Weil ich eine Daten haben, die von pjax wie es dazu kam:

$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); 

Antwort

1

in Ihrem checkboxoption den Wert der Checkbox überprüfen, ob sie aktiv oder inaktiv und eine Klasse hinzufügen, nach diesem Status wie

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

    } 

und in Ihre jquery Funktion schreiben

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