2017-11-10 50 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

私はすでにデータを投稿しようとしていますが、コントローラには表示されません。これは、 'のチェックボックスの1つです。私はチェックボックス自体が私の値を含んでいないと思う –

+0

ハム、あなたのコントローラで試してみてください - > var_dump(Yii :: $ app-> request-> post()); ?ボタンがフォームを送信しますか? –

答えて

0

下記のおcontrollerアクションの使用において

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

を私が解決策を見つけました。私はコントローラに選択したチェックボックスを投稿するためにajaxを使用しています。私は私の見解

<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

私はすでにデータを投稿しようとするが、コントローラに表示されません。これはチェックボックス "value =" 45678 ">の1つです。私はチェックボックス自体が私の価値を含んでいないと思う。 –

関連する問題