2013-04-05 3 views
0

Перед лицом проблемы с загрузкой loader.gif beforesend функция через ajax в gridview yii в определенном связанном значении ячейки. вот мой gridview.Yii gridview ajax пользовательская кнопка перед отправкой обновления значения ячейки

<?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, но я просто хочу, чтобы заменить только заменить эту ячейку статус строки, но не все.

ответ

0

При использовании

var obj= $(".mail");

вы получаете все клетки, потому что каждый из них имеют класс «почту».

Вы должны получить только один щелчок. Попробуйте

var obj= $(this);

Я не проверял, это идея.

Смежные вопросы