Ajax-запрос не работает на пагинации данных - PullRequest
0 голосов
/ 12 сентября 2018

В моем Laravel веб-приложении я использую datatable для отображения данных.В моей таблице 3 действия: view, edit и delete.Для редактирования и просмотра я использую Bootstrap 4 модальный.

Вот представление таблицы данных .. enter image description here

Вот мой код запроса ajax для редактированияна модальном:

$.ajax({
      type:'GET',
      url:"{{route('user.edit')}}",
      data:{'id':user_id},
      success:function(data){
        var role;
        if(data.role_id == 1){
            role = 'Admin';
        }else if(data.role_id == 2){
            role = 'Seller';
        }else{
            role = 'Publisher';
        }
        $(header).empty();
        $(header).append('<h3>'+data.details.name+'\'s details</h3>');
        $('#name').empty();
        $('#name').val(data.details.name);
        $('#email').empty();
        $('#email').val(data.details.email);
        $('#contact').empty();
        $('#contact').val(data.details.contact);
        $('#address').empty();
        $('#address').val(data.details.address);
        $('#user_id').empty();
        $('#user_id').val(data.details.id);
        $.each(data.roles, function(index,val){
            if(data.details.role_id == val.id)
                var selected = 'selected';
            $('#role').append('<option '+selected+' value="'+val.id+'">'+val.role_name+'</option>');

        });
    }
});

Теперь все отлично работает для первой страницы.Но когда я что-то ищу в datatable или перехожу на другую страницу через нумерацию страниц, мой запрос ajax не работает.Я использую класс для вызова AJAX-запроса.Когда я перехожу на другую страницу или ищу данные и нажимаю на изменение, только модал открывает ajax-запрос, который не запускается, и показывает пустой модал.Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 13 сентября 2018
$(document).on('click', '.your_button', function(){
   //code for action
});

Обработчик событий обрабатывает только те элементы, которые существуют в DOM, когда код был выполнен, поэтому необходимо использовать обработчик событий на основе делегирования. попробуйте это

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