Как организовать ajax обновление элемента с id="myElem" в Yii?

Есть элемент с id="myElem". Данные в него выводятся через renderPartial.
Мне нужно через ajax обновлять содержимое этого элемента.
Можно через CHtml::ajaxLink, у которого есть классный параметр update. Но этот вариант не подходит. Содержимое элемента должно меняться при выборе значения из выпадающего списка.
Как в yii выполнить обновление содержимого элемента послу ajax запроса самостоятельно, без CHtml::ajaxLink?
  • Вопрос задан
  • 2712 просмотров
Решения вопроса 1
public function actionAjaxUpdate(){
        if(Yii::app()->request->isAjaxRequest){ // только ajax
            $this->layout = false; // отключим шаблон
            $this->render('то что тащит рендер', array(
                'params'=>$params
            ));
        }
        else
            throw new CHttpException(404, 'Запрашиваемая страница не существует.');
    }

Оберните Ваш рендер
<div id="myElem">
        <?php $this->renderPartial('//то что тащим', true, false, array(
                 'params'=>$params 
        )) ?>
</div>

Ну и Js
$('#link').click(function (e){
        e.stopPropagation();
        var update = $('#myElem');
        $.ajax({
                'type': 'POST',
                'url': '/AjaxUpdate',
                'cache': false,
                'success':function(data) {
                                update.html(data);
                }
        });
});

И ссылка
<?php echo CHtml::link('Обновить!', '#', array('id'=>'link')) ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы