PJAX обновление GridView из GridView. Удаление элемента

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
ambo
Сообщения: 11
Зарегистрирован: 2016.09.05, 01:05

PJAX обновление GridView из GridView. Удаление элемента

Сообщение ambo »

Добрый день
Пытаюсь реализовать удаление из таблицы через PJAX, но удаляется с перезагрузкой страницы, либо удаляется один элемент а на втором нет реакции на событие:

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

<?php Pjax::begin(['id' => 'pjax-container-event-type'])?>

    <?= GridView::widget([
        'dataProvider' => $dataProviderEventType,
        'id' => 'container-event-type',
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            'id',
            'title',
            [
                'class'    => 'yii\grid\ActionColumn',
                'template' => '{deletedict}',
                'buttons'  => [
                    'deletedict' => function ($url) {
                        $id = preg_replace("/[^0-9]/", '', $url);
                        return "<button class='btn btn-danger' type='button' data-iddel='$id' data-pjax=0 >
                                    <i class='glyphicon glyphicon-remove'></i>
                                </button>";
                    },
                ],
            ],
        ],
    ]); ?>
<?php Pjax::end(); ?>
</div>
Скрипт:

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

    $("#container-event-type button").on("click", function(){  
        $.ajax({
            url: 'delete-dict-event-type',
            type: 'POST',
            data: {id: $(this).data('iddel')},
            success: function(){ 
                $.pjax.reload('#pjax-container-event-type'); 
             return true;},
            error: function(){ alert('Что то пошло не так...');}
        });        
        return false;
    });
Подскажите как можно решить проблему?
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: PJAX обновление GridView из GridView. Удаление элемента

Сообщение andku83 »

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

    $("#container-event-type button").on("click", function(){  
поменять на:

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

    $("pjax-container-event-type").on("click", "#container-event-type button", function(){  
а если и этот pjax блок может перегружаться, то подключайте событие еще выше.
ambo
Сообщения: 11
Зарегистрирован: 2016.09.05, 01:05

Re: PJAX обновление GridView из GridView. Удаление элемента

Сообщение ambo »

Понял. Спасибо
Ответить