@DangerPro
Новичок в web-программировании

Как изменить данные с помощью pjax?

Мне нужно как-то обновить данные в БД наверно с помощью PJAX.
У меня есть dropDownList в нем список категорий. А так же GridView и в нем выводятся чекбоксы(CheckboxColumn).
Список категорий вывожу вот так:
Html::dropDownList('records','null', ArrayHelper::map($listData,'id','name'),
            [
                'prompt' => '-- Выбрать категорию --',
                'class' => 'form-control'
            ]);

Мне предложили вот такой JavaScript код:
$(document).on("click", "#bulk", function(event) {
        event.preventDefault();
        $.post("<?= Url::current()?>", {records: $('#grid').yiiGridView('getSelectedRows')}).done(function() {
            // обновить pjax или страницу
        });
    });

В контроллере пишу вот это:
public function actionBulk(){
        if($records = Yii::$app->getRequest()->post('action')) {
            Book::save(['id' => $records]);
            Yii::$app->session->setFlash('success', "Категория у книги {$model->name} обновлена");
        }
    }

Нужно обновить поле "id". Поле ID соответствует строке вывода данных через GridView.
Вопросы:
1. Куда код этот вставить?
2. Как обновить страницу через pjax ?
3. Что писать, чтобы данные в базе сохранились.
P.S. Я JavaScript вообще не знаю =(
  • Вопрос задан
  • 534 просмотра
Решения вопроса 1
qonand
@qonand
Software Engineer
1. Куда код этот вставить?

Я так понимаю что Вы имеете ввиду JS, а это код выполняемый на клиенте, соответственно он должен располагаться в представлениях в виде кода, файла или комплекта ресурсов.
2. Как обновить страницу через pjax ?

а гугл зачем? первый же ответ
3. Что писать, чтобы данные в базе сохранились.

Читайте документацию

P.S. Вы бы сначала с фреймфорком и JS разобрались, а то задаете вопросы по базовым моментам, по которым в интернете полно информации
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы