2016-09-29 12 views
1

gridViewのdataColumnのセルに、data-method = post、data-confirm = 'Some vesse vessel'というリンクが設定されています。しかし、リンクをクリックするとgetメソッドで動作し、確認メッセージは表示されません。なぜそれは動作しません?ここ はコードです:Yii2データメソッドポストがgridViewで動作しない

<?= GridView::widget([ 
     'dataProvider' => new ArrayDataProvider([ 
      'allModels' => $model->orders 
     ]), 
     'columns' => [ 
      //... some other columns .... Then: 
      [ 
       'headerOptions' => ['class' => 'bg-teal color-palette'], 
       'footerOptions' => ['class' => 'bg-teal color-palette'], 
       'format' => 'html', 
       'value' => function($model) 
       { 
        return Html::a(
         'Delete', 
         [ 
          'order/delete', 
          'id' => $model->id 
         ], 
         [ 
          'class' => 'btn btn-primary btn-block', 
          'data-confirm' => 'Do you realy want to delete the item?', 
          'data-method' => 'post', 
         ] 
        ); 
       } 
      ], 
    ]); ?> 

私はGridViewの外にHTML :: Aを配置する場合、それは正常に動作します。何かが間違っているのですか?

答えて

4

'html'は多くのものをフィルタリングするので、データセルの 'format'プロパティはこの場合 'raw'にする必要があります。

<?= GridView::widget([ 
    'dataProvider' => new ArrayDataProvider([ 
     'allModels' => $model->orders 
    ]), 
    'columns' => [ 
     //... some other columns .... Then: 
     [ 
      'headerOptions' => ['class' => 'bg-teal color-palette'], 
      'footerOptions' => ['class' => 'bg-teal color-palette'], 
      'format' => 'raw', 
      'value' => function($model) 
      { 
       return Html::a(
        'Delete', 
        [ 
         'order/delete', 
         'id' => $model->id 
        ], 
        [ 
         'class' => 'btn btn-primary btn-block', 
         'data-confirm' => 'Do you realy want to delete the item?', 
         'data-method' => 'post', 
        ] 
       ); 
      } 
     ], 
]); ?> 
+0

非常に@Milos Ozegovicさん、ありがとうございました。たぶん誰かが、私が使った他のデータ属性、または情報を見つける場所を知っているかもしれません。 –

+0

これらの属性に関するドキュメントは見つかりませんでしたが、そのうちのいくつかはyii.jsファイル(https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.js)で処理されていることがわかりました。 私が知っているdata-method、data-confirm、data-paramsの* 2つの属性があり、data-methodを介して送信されるparamsを定義することができます。あなたが私を理解したいと思っています:) – Imaginaroom

+0

@Milos Ozegovicに。他のdata- *属性のリストがあります。 Bizleyに感謝します。 –

関連する問題