select и ajax

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
hash
Сообщения: 45
Зарегистрирован: 2011.08.05, 17:20

select и ajax

Сообщение hash »

Необходимо сделать ajax'овое обновление статуса записи в бд при изменении его значения с помощью поля select. не работает.

Код формы:

Код: Выделить всё

    <?php echo CHtml::activeDropDownList($model, 'status', Stock::getStatus(), array(
            'ajax' => array(        
                'type'=>'GET',
                'url'=>$this->createUrl('/stock/status'),
                'data'=>array(
                    'status'=> 'js:this.value',
                    'id' => 'js:'.$model->id,
                ),
            ),
            'class' => 'membership',
    )); ?>


Код контроллёра:

Код: Выделить всё

    public function actionStatus($id)
    {
        if(isset($_GET['ajax']) && isset($_GET['status']) && isset($_GET['id']))
        {
                $model = $this->loadModel($_GET['id']);
                $model->status = $_GET['status'];
                $model->scenario = 'status';
                $model->save();
                Yii::app()->end();
        }     
    }
 
Что не так и как это исправить?)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: select и ajax

Сообщение samdark »

hash, тему перетащил. В разделе yiiframework.ru вопросы по работе форума и сайта.
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: select и ajax

Сообщение Nafania »

hash писал(а):Необходимо сделать ajax'овое обновление статуса записи в бд при изменении его значения с помощью поля select. не работает.
А конкретней, что не работает?

Так, на заметку, вот это надо заменить

Код: Выделить всё

    public function actionStatus($id)
    {
        if(isset($_GET['ajax']) && isset($_GET['status']) && isset($_GET['id']))
        { 
на и yii сам проверит наличие данных в запросе.

Код: Выделить всё

    public function actionStatus($id, $status, $ajax)
    {
        
и по идее надо так

Код: Выделить всё

 'id' => $model->id, 
а не как у вас
Ответить