首页 > 解决方案 > 修改表时打印出jQuery DataTables初始数据

问题描述

我创建了一个函数,可以在其中编辑数据表中的每个值。这是我的代码:

$('#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元素时,span 将隐藏并显示输入字段,您可以通过按 enter 按钮保存新数据。跨度也会改变它的值。此代码工作正常。

问题是,当我打印数据表时,即使跨度的值发生了变化,它也会显示较旧的值。提前致谢。

标签: javascriptjquerydatatables

解决方案


我终于解决了我的问题。我在我的 ajax 的成功函数中添加了这段代码:

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

推荐阅读