我创建了一个函数,其中可以编辑数据表中的每个值。 这是我的代码:
$('#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
元素时,范围将隐藏,并且将显示输入字段,并且可以通过按Enter键保存新数据。跨度也将更改其值。这段代码可以正常工作。
问题是,即使跨度值更改,当我打印数据表时,它也会显示较旧的值。提前致谢。
答案 0 :(得分:0)
我终于解决了我的问题。 我在ajax的成功函数中添加了以下代码:
$('#xin_table2').dataTable().api().ajax.reload(function(){ }, true);