2012-07-13 54 views
1

我正在写一个商店应用程序,我有一个问题。Yii - 关于jquery ajax

Yii中正如你所知道的AJAX看起来像

<?php 
    echo CHtml::ajaxLink(
     '', 
     array("cart/add/id/$item->id"), 
     array(
      'update'=>'#cart', 
     ), 
     array('class' => "button_basket") 
    ); 
?> 

此代码,则更新id = cart股利。我怎样才能更新页面上的其他元素?例如在购物车页面上,我通过ajax删除了一个项目,我需要更新总价格,那么执行此操作的最佳方法是什么?

回答

1

为此,您需要编写一些javascript,最好是能够读取服务器响应的函数,并相应地对ui进行更改。

如果您通过documentation查看ajaxLink();,您会看到第三个参数是ajaxOptions,它的选项为jQuery's ajax method。因此您可以为success event编写回调函数。在这个功能中,你可以改变你的用户界面。

示例代码:

<?php 
echo CHtml::ajaxLink(
    '', 
    array("cart/add/id/$item->id"), 
    array(
     // 'update'=>'#cart', this will be ignored when you have success callback 
     'success'=>'js:successFunctionName', 
    ), 
    array('class' => "button_basket") 
); 
?> 

某处在当前视图,您可以使用registerScript输出功能的看法:

Yii::app->clientScript->registerScript('scriptname',' 
    function successFunctionName(data, textStatus, jqXHR){ 
     // write awesome javascript to change ui 
    } 
'); 
+1

感谢您的帮助! – 2012-07-16 09:40:07

+0

欢迎您,随时乐意帮助! – 2012-07-16 11:33:47