2017-11-10 5 views
0

버튼을 눌렀을 때 내 뷰에서 컨트롤러로 체크 박스 값을 가져와야합니다.yii2 - gridview에서 컨트롤러로 체크 박스 값을 가져 오는 방법

GRIDVIEW :

<div class="installment-ready"> 
<!-- <h1><?= Html::encode($this->title) ?></h1> --> 
<?php // echo $this->render('_search', ['model' => $searchModel]); ?> 
<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    //'filterModel' => $searchModel, 
    'columns' => [ 
    [ 
    'class' => 'yii\grid\SerialColumn', 
    'contentOptions'=>[ 'style'=>'width: 60px'], 
    ], 
//Checkbox 
[ 
    'class' => 'yii\grid\CheckboxColumn', 
    'contentOptions'=>[ 'style'=>'width: 50px'], 
    'name' => 'checked', 
    'checkboxOptions'=> function($model, $key, $index, $column) { 
    return ["value" => $model->ACCOUNT_ID]; 
    } 
], 

버튼이 선택 체크 박스를 처리 할 수는 : 코드

Yii::$app->request->post('checked'); 
+0

'Yii :: $ app-> request-> post()'정보로 업데이트 질문. –

+0

이미 데이터 게시를 시도하지만 컨트롤러에 표시되지 않습니다. 이것은 ''확인란 중 하나입니다. 나는 체크 박스 자체가 내 값을 포함하지 않는다고 생각한다 –

+0

콧노래, 당신은 당신의 컨트롤러에서 시도해 보았습니다 -> var_dump (Yii :: $ app-> request-> post()); ? 버튼이 양식을 제출합니까? –

답변

0

아래 controller 액션 사용에

<?= Html::a('Submit', ['#'], ['class' => 'btn btn-success pull-right']) ?> 
0

나는 해결책을 찾아 냈다. 내 컨트롤러에 선택한 확인란을 게시하려면 아약스를 사용하고 있습니다. 내가보기

<script type="text/javascript"> 
    // action for all selected rows 
    function submit(){ 
    var dialog = confirm("Are you sure to submit the installment?"); 
    if (dialog == true) { 
     var keys = $('#grid').yiiGridView('getSelectedRows'); 
     // console.log(keys); 
     var ajax = new XMLHttpRequest(); 
     $.ajax({ 
      type: "POST", 
      url: 'index.php?r=installment/submit', // Your controller action 
      data: {keylist: keys}, 
      success: function(result){ 
       console.log(result); 
      } 
      }); 
    } 
    } 
</script> 
<!-- Submit button --> 
<button type="button" onclick="submit()" class="btn btn-success pull-right">Submit</button 

에서 사용하는 그리고 당신은 당신의 데이터를 얻을 수 컨트롤러 평소 YII : $ APP-> 요청 -> 포스트()를 사용할 수

스크립트.

+0

이미 데이터를 게시하려고 시도하지만 컨트롤러에 표시되지 않습니다. 이것은