2012-07-13 4 views
1

나는 상점 신청서를 작성 중이며 질문이 있습니다. 이 코드는 id = cart와 사업부를 업데이트 Yii - jquery ajax 약

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

처럼 YII에서

아시다시피 아약스 보인다. 페이지의 다른 요소를 어떻게 업데이트 할 수 있습니까? 예를 들어 장바구니 페이지에서 Ajax를 통해 하나의 항목을 제거하고 총 가격을 업데이트해야합니다.이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

이 경우 자바 스크립트를 작성해야합니다. 서버에서 응답을 읽고 이에 따라 UI를 변경하는 함수가 선호됩니다.

당신이 ajaxLink();에 대한 documentation을 통해 이동하는 경우, 당신은 세 번째 매개 변수가 jQuery's ajax method의 옵션을 취 ajaxOptions 것을 볼 수 있습니다. 따라서 success event에 대한 콜백 함수를 작성할 수 있습니다. 그리고이 기능을 사용하면 사용자의 UI를 변경할 수 있습니다.

샘플 코드 :

<?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

도움을 주셔서 감사합니다! –

+0

언제든지 도와 드리겠습니다. –