私はこのテーブルを持っていますが、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>