2016-10-18 7 views
0

で確認し、複数のレコードIDを取得したいですコードは私が私は誰もが、これは選択し、このための私のフォームとAjaxスクリプトです<strong>アヤックス</strong>と<strong>jQueryの</strong>を使用してどのように削除選択したレコードのインデックスから確認レコードIDを取得するために私を伝えることができ、私はここに新しいですyii2

<div class="usermaster-model-index"> 
    <input type="button" class="btn btn-info pull-right" value="Delete Multiple" id="MyButton" > 
    <h1><?= Html::encode($this->title) ?></h1> 
    <?php 
    ?> 
    <p> 
     <?= Html::a('Create Usermaster Model', ['create'], ['class' => 'btn btn-success']) ?> 
    </p> 
    <?= 
    GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     //'class' => ActionColumn::className(), 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 
      'user_fname', 
      'user_id', 
      'user_lname', 
      'user_mobile', 
      ['class' => 'yii\grid\ActionColumn'], 
      [ 'class' => 'yii\grid\CheckboxColumn', 
       'checkboxOptions' => ["attribute" => 'user_id'], 
      ], 
     ], 
    ]); 
    ?> 
</div> 

<script> 
    $(document).ready(function() { 
     $('#MyButton').click(function() { 
      alert('hello'); 
      var HotId = $('#user_id').yiiGridView('getSelectedRows'); 
      $.ajax({ 
       type: 'POST', 
       cache: false, 
       url: Url::toRoute('usermaster/MultipleDelete'), 
       data: {user_id: HotId}, 
       success: function() { 
       $(this).closest('tr').remove(); 
       } 
      }); 

     }); 
    }); 
</script> 

を知っていると、ここで選択されたIDを取得し、あなたのGridViewで

public function actionMultipleDelete() 
{ 
    $data = Yii::$app->request->post('user_id'); 
    foreach ($data as $key => $value) 
    { 
     $sql = "DELETE FROM usermaster WHERE user_id = $value"; 
     $query = Yii::$app->db->createCommand($sql)->execute(); 
    } 
    return $this->redirect(['index']); 
} 
+0

console.log(HotId)を使用して 'HotId'アレイを印刷しようとしましたか?何が表示されますか –

+0

はいニチン私は試みましたが、それは動作していません私もグリッドビューでIDを定義している – sms

答えて

1

を削除するには、複数のデータ機能を削除し、私のコントローラのアクションを追加しますので、任意のアクションを行いません。次のようにidオプション

GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'id'=> your-id //set your id here and use this is in jquery 
     //'class' => ActionColumn::className(), 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 
      'user_fname', 
      'user_id', 
      'user_lname', 
      'user_mobile', 
      ['class' => 'yii\grid\ActionColumn'], 
      [ 'class' => 'yii\grid\CheckboxColumn', 
       'checkboxOptions' => ["attribute" => 'user_id'], 
      ], 
     ], 
    ]); 

とjQueryでは、あなたの新しいIDでuser_idを交換してください。

<script> 
    $(document).ready(function() { 
     $('#MyButton').click(function() { 
      alert('hello'); 
      var HotId = $('#your-id').yiiGridView('getSelectedRows'); // modify this line 
      $.ajax({ 
       type: 'POST', 
       cache: false, 
       url: Url::toRoute('usermaster/MultipleDelete'), 
       data: {user_id: HotId}, 
       success: function() { 
       $(this).closest('tr').remove(); 
       } 
      }); 

     }); 
    }); 
</script> 
+0

私は警戒を得ていますが、IDを取得していません – sms

+0

@sms:それは今働いていますか?もしそうなら、回答を受け入れてください。回答者はそれについて知るようになり、他人も助けます。 –

+0

まだここにはまっていない – sms

関連する問題

 関連する問題