特定の関連セル値の yii グリッドビューで ajax を介して loader.gif beforesend 関数を表示するという問題に直面しています。ここに私のグリッドビューがあります。
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'deals-grid',
'dataProvider'=>$model->mersearch(),
'columns'=>array(
'title',
'description',
array('header'=>'Valid Till','name'=>'valid','value'=>$data->valid),
array('name' => 'status',
'value'=>array($this,'getStatus'),
'filter' => $active,'sortable'=>TRUE,
'htmlOptions'=>array('class'=>'status'),
),
array
(
'name'=>'image',
'type'=>'image',
'value'=>array($this,'imagePath'),
'htmlOptions'=>array('class'=>'thumb','rel'=>'gallery'),
),
array(
'class'=>'CButtonColumn',
'buttons'=>array
(
'mail' => array
(
'label'=>'mail',
'imageUrl'=>Yii::app()->request->baseUrl.'/images/mail.png',
'url'=>'Yii::app()->createUrl("deals/sendmail", array("id"=>$data->id))',
'options' => array( 'ajax' => array('url'=>'js:$(this).attr("href")',
'beforeSend'=>'function(){
var obj= $(".mail");
obj.parent().parent().find(".status").replaceWith("<td class=\"status\"><img src=\"/images/loading.gif\"></td>");}',
'success'=>'function(data){$(".status").html("Mail Sent Successfully.")
}',
),
'class'=>'mail',
)),
),
'template'=>'{update}{delete}{mail}',
),
),
)); ?>
主な問題は、sendmailボタンをクリックすると、すべての親ステータスクラスセルがloading.gifに置き換えられますが、すべてではなく、その行ステータスセルのみを置き換えたいということです。