2012-05-10 8 views
1

にカスタム機能を追加、削除ボタンは、この関数に自分自身を割り当てます。CGridView - デフォルトでは、削除行ボタン

jQuery('#main-orders-details-grid a.delete').live('click',function() { 
    if(!confirm('Are you sure you want to delete this item?')) return false; 
    var th=this; 
    var afterDelete=function(){}; 
    $.fn.yiiGridView.update('main-orders-details-grid', { 
     type:'POST', 
     url:$(this).attr('href'), 
     success:function(data) { 
      $.fn.yiiGridView.update('main-orders-details-grid'); 
      afterDelete(th,true,data); 
     }, 
     error:function(XHR) { 
      return afterDelete(th,false,XHR); 
     } 
    }); 
    return false; 
}); 

は、この関数をオーバーライドし、ユーザー定義の1を追加する方法はありますか?

いくつかのネストされたグリッドでいくつか問題があります。子グリッドから行を削除すると、マスターグリッドが更新されます。

+0

より良い質問はライブ、クリックイベントをバインド解除する方法だろう... – PartySoft

答えて

5

もちろん、あなたは:)できます。 CButtonColumnクラスの列が既に定義されていることを前提としています。あなたがそうのようにそれを行うことができます。

 array(
      'class'=>'CButtonColumn', 
      'template'=>'{view}{delete}', 
      'buttons'=>array(
       'view'=>array(
        'url'=>'Yii::app()->createUrl("controller/action",array("id"=>$data>id))', 
       ), 
       'delete'=>array(
        'url'=>'#', 
        'click'=>'js:function(evt){ 
         evt.preventDefault(); 
         /*Your custom JS goes here :) */ 
         }',       
       ),      
      ), 
     ), 

。また、ここでのYiiのドキュメントをチェックアウト:http://www.yiiframework.com/doc/api/1.1/CButtonColumn#buttons-detail

+1

URL =>「#」がエラーをスローします。 代わりにurl => "'#'"を試してください。 – dctucker

関連する問題