2012-07-13 29 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