在yii中通过ajax更新2个元素
我有一个ajax链接在yii中,当用户点击它做一些事情并更新一个元素html(td的内容)而不刷新页面时,如何更改2元素html 我将进一步解释: 在视图中,我有一个由一些td提供的用于显示信息的表,一个由td提供的用于发送信息的表(有一个图像ajaxlink)和一个由内容消息提供的表(例如:“不发送”) 当用户单击图像链接调用函数和有效信息(…)以及td的更改消息(“验证成功”)(“不发送”更改为“验证成功”) 我按照别人告诉我的做了,但我想删除ajaxlink,并用一个简单的图像替换它。在yii中通过ajax更新2个元素,ajax,yii,Ajax,Yii,我有一个ajax链接在yii中,当用户点击它做一些事情并更新一个元素html(td的内容)而不刷新页面时,如何更改2元素html 我将进一步解释: 在视图中,我有一个由一些td提供的用于显示信息的表,一个由td提供的用于发送信息的表(有一个图像ajaxlink)和一个由内容消息提供的表(例如:“不发送”) 当用户单击图像链接调用函数和有效信息(…)以及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";
}
}
使用ajaxLinkcallback更改
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");
}
}',
)
);
}
?>
通过ajax隐藏和显示两个图像更新生成的html代码?如何?在浏览器中的控制器或视图中。只需右键单击并查看页面源代码并发布您的回复非常有用