Javascript 不工作更新响应数据表内的输入值

Javascript 不工作更新响应数据表内的输入值,javascript,jquery,datatables,Javascript,Jquery,Datatables,将两个数字相乘后,如果响应数据表不显示 我的代码: [enter link description here][3] 发生这种情况是因为您正在将计算出的值写入元素内部的DOM(即,写入HTML单元格) 您可以在浏览器中看到显示的值,但是为您管理HTML表的DataTables对象对这个新值一无所知 因此,当DataTables重新绘制表时(对于“响应”事件),该值将消失 要解决此问题,您可以更改calculate()函数: 函数计算(idx){ var inttemp=ex#u nor

将两个数字相乘后,如果响应数据表不显示

我的代码:

[enter link description here][3]   

发生这种情况是因为您正在将计算出的值写入
元素内部的DOM(即,写入HTML
单元格)

您可以在浏览器中看到显示的值,但是为您管理HTML表的DataTables对象对这个新值一无所知

因此,当DataTables重新绘制表时(对于“响应”事件),该值将消失

要解决此问题,您可以更改
calculate()
函数:

函数计算(idx){
var inttemp=ex#u normalNum($(“#mm"+idx).val());
var zarb=separateNum($(“#nn"+idx).val()*inttemp);
//$(“#结果"+idx).val(zarb);//删除此行
//在数据表中填充值:
var resultcell=$('#示例').dataTable().api().cell(idx-1,2);
resultcell.data(zarb.draw();
//重新绘制后重新定位光标:
$(#mm#+idx).focus();
}
这一行:

var resultsCell = $('#example').dataTable().api().cell(idx -1, 2);
选择表中的相关DataTable单元格。请注意,行和列偏移从零开始-因此
idx-1
表示相关行,
2
表示第三列

那么这一行,

resultsCell.data(zarb).draw();
将计算出的值写入DataTables内的单元格,然后重新绘制该表,使该值可见

注意-包含计算值的单元格将不再是
字段-它将只是一个常规的
单元格。我建议这样做,因为您实际上没有能力覆盖计算值

这是我的测试表:

非常感谢

现在我对这个变化有一个问题,那就是总数。
我更新了jsfiddle:jsfiddle.net/dishlame/dmjxac1L/14/

我认为您打算将此作为注释而不是答案来写,因此您可能应该删除您的答案。我建议你为此提出一个全新的问题(这样更多的人会看到,而不仅仅是我!)。但在你这么做之前,你可以(a)看一看,看看你是否能适应你的需要;(b)研究关于堆栈溢出的现有问题——我相信已经有人问过类似的问题了——可能有一些很好的答案。