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 に答える