0

我有这张,但我无法在 td 中使用函数计算器。

该脚本运行良好,但是当我编辑单元格中的数字时(只需单击单元格以获取输入数字),我没有得到总结果。你能解释一下我应该将哪个事件应用于我的 jeditable 插件吗?你知道实现这一目标的不同或更好的方法吗?

谢谢

4

1 回答 1

0

您应该使用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>
于 2012-10-15T22:04:44.607 回答