我有这张表,但我无法在 td 中使用函数计算器。
该脚本运行良好,但是当我编辑单元格中的数字时(只需单击单元格以获取输入数字),我没有得到总结果。你能解释一下我应该将哪个事件应用于我的 jeditable 插件吗?你知道实现这一目标的不同或更好的方法吗?
谢谢
我有这张表,但我无法在 td 中使用函数计算器。
该脚本运行良好,但是当我编辑单元格中的数字时(只需单击单元格以获取输入数字),我没有得到总结果。你能解释一下我应该将哪个事件应用于我的 jeditable 插件吗?你知道实现这一目标的不同或更好的方法吗?
谢谢
您应该使用callback
事件并分配适当的事件处理程序来计算总数。检查此代码是否有效,如果认为需要添加更多操作。你的代码对我来说很奇怪,但无论如何它都有效。函数tally
应该在onrender
$(function(){ ... });
块外部定义为全局函数。
<script type="text/javascript">
function tally (selector) {
$(selector).each(function () {
var total = 0,
column = $(this).siblings(selector).andSelf().index(this);
$(this).parents().prevUntil(':has(' + selector + ')').each(function () {
total += parseFloat($('p#sum:eq(' + column + ')', this).html()) || 0;
})
$(this).html(total);
});
}
$(function() {
tally('p#subtotal');
tally('p#total');
});
</script>
<script type="text/javascript" charset="utf-8">
$(function() {
$('.editable_number').editable(function(value, settings) { return(value); }, {
type : 'number',
style : "inherit",
callback: function() {
tally('p#subtotal');
tally('p#total');
}
}
);
$('.editable_textarea').editable(function(value, settings) { return(value); }, {
type : 'textarea',
width: '200',
height: '20',
submit : 'OK',
style : "inherit"
});
});
</script>