1

我正在写一个商店应用程序,我有一个问题。

你知道 Yii 中的 ajax 看起来像

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

此代码将 div 更新为id = cart. 如何更新页面上的其他元素?例如,在购物车页面上,我正在通过 ajax 删除一件商品,我需要更新总价,最好的方法是什么?

4

1 回答 1

1

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

如果您浏览 的文档ajaxLink();您会看到第三个参数是ajaxOptions,它采用jQuery 的 ajax 方法的选项。因此,您可以为成功事件编写回调函数。在此功能中,您可以更改您的 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
    }
');
于 2012-07-13T14:00:32.413 回答