Исходные данные jQuery DataTables распечатываются при изменении таблицы

#javascript #jquery #datatables

#javascript #jquery #таблицы данных

Вопрос:

Я создал функцию, в которой я редактирую каждое значение в моей таблице данных. вот мой код:

 $('#xin_table2').on('click', 'td', function () {
 $(this).children('span').addClass("none");
 $(this).children('input').removeClass("none");     
 $(this).children('input').focus();

 $(this).children('input').on('keyup', function (e) {
    if (e.keyCode == 13) {
         $(this).addClass("none");
         $(this).siblings('span').text($(this).val());
         $(this).siblings('span').removeClass("none");       

        $.ajax({
           url: site_url "payroll/edit_data_payroll/",
           type: 'POST',
           data: {'<?php echo $this->security->get_csrf_token_name(); ?>':'<?php echo $this->security->get_csrf_hash(); ?>',id: $(this).attr("data-id"), column:$(this).attr("data-column"), data:$(this).val()},
           error: function() {
              toastr.error('Something is wrong');
           },
           success: function(data) {
            toastr.success(data);
           }
        });    
    }   
    });

  $(this).children('input').blur(function(){
     $(this).addClass("none");
    $(this).val($(this).siblings('span').text());
     $(this).siblings('span').removeClass("none");
 });

});
  

Когда вы нажимаете на td элемент, диапазон скрывается, а поле ввода отображается, и вы можете сохранить новые данные, нажав кнопку ввода. Диапазон также изменит свое значение. Этот код работает нормально.

Проблема в том, что когда я печатаю таблицу данных, она показывает более старое значение, даже если значение диапазона изменилось. Заранее спасибо.

Ответ №1:

Я, наконец, решил свою проблему. Я добавил этот код в функцию успеха моего ajax:

  $('#xin_table2').dataTable().api().ajax.reload(function(){ }, true);