2014-05-05 47 views
0

我有一个在yii的ajax链接,当用户点击它做一些事情,并更新一个元素的HTML(td的内容),而无需刷新页面如何更改2个元素的HTML?鉴于 我有一个表由一些TD为节目信息的发送信息的TD(有图像ajaxlink)和TD由内容的信息:在yii更新2个元素由ajax

我解释更多(例如:“不发送”)

当用户点击图片链接调用函数和有效信息(...)并更改td('验证成功')的消息。(“不发送”更改为“验证成功”) 我做了我告诉,但我想删除ajaxlink并将其替换为一个简单的图像如何
我可以做到吗?

我补充一下:

CHtml::image(Yii::app()->theme->baseUrl . "/img/gridview/email-send.png", '', array('title' => 'sended success')) 

view.php:

<td id="send_<?php echo CHtml::encode($profileInformationServices->id); ?>"><?php echo "not send"; ?></td> 
<td id="sended_<?php echo CHtml::encode($profileInformationServices->id); ?>"> 

     <?php           
      echo $profileInformationServices->send ? CHtml::image(Yii::app()->theme->baseUrl . "/img/gridview/email-send.png", '', array(                'title' => 'sended success')): 
         CHtml::ajaxLink(CHtml::image(Yii::app()->theme->baseUrl . "/img/gridview/send.png", '', array(
                  'title' => 'Send for valid')), Yii::app()->createUrl('/profileInformationService/send'), 
       array(// ajaxOptions 
        'type' => 'POST', 
         'data' => array('id' => $profileInformationServices->id), 
          'update' => '#send_'.$profileInformationServices->id, 
         ) 

        ); 

     ?> 


</td> 

控制器:

public function actionSend() { 
    if (Yii::app()->request->isPostRequest) { 
     $model = $this->loadModel($_POST["id"]); 

     $model->send = 1; 
     $model->save(); 
     echo "sended success"; 
    } 
} 
+0

隐藏和显示通过AJAX更新 – Babu

+0

两个图像,你可以更多地解释 – maryam

+0

需要您生成html代码? – Babu

回答

1

使用ajaxLink 回调到茶在td的文字。

<?php 
    //I am keeping your ternary code in if-else condition for readability 

    if($profileInformationServices->send) 
    { 
     echo CHtml::image(Yii::app()->theme->baseUrl . "/img/gridview/email-send.png", '', array('title' => 'sended success')); 
    } 
    else 
    { 
     echo CHtml::ajaxLink 
     (
      CHtml::image(Yii::app()->theme->baseUrl . "/img/gridview/send.png", '', array('title' => 'Send for valid')), 
      Yii::app()->createUrl('/profileInformationService/send'), 
      array 
      (
       'type' => 'POST', 
       'data' => array('id' => $profileInformationServices->id),      
       'success'=>'function(data) 
       { 
        if(data=="sended success") 
        { 
         $("#send_'.$profileInformationServices->id.'").html("validation is success"); 
        } 
       }', 
      ) 
     ); 
    } 
    ?> 
+0

坦克我正在尝试 – maryam

+0

您的回复非常有用 – maryam