親タスクと子タスクを含むタスク リストを作成しています。それらは順序付けられたリストに配置され、多くのレベルの深さでネストされているため、親タスクは子タスクと親タスクを内部に持つことができます。
例:
<div class="item-list">
<ol>
<li class="parent">
<div class="title">Im a task</div>
<div class="totalhours">total child hours here please</div>
<ol>
<li>
<div class="title">Im a task</div>
<div class="hours">5</div>
</li>
<li>
<div class="title">Im a task</div>
<div class="hours">10</div>
</li>
<li class="parent">
<div class="title">Im a task</div>
<div class="totalhours">total child hours here please</div>
<ol>
<li>
<div class="title">Im a task</div>
<div class="hours">5</div>
</li>
<li>
<div class="title">Im a task</div>
<div class="hours">10</div>
</li>
</ol>
</li>
</ol>
</li>
<li>Another task thats not a parent on this level</li>
</ol>
</div>
したがって、各レベルには、ネストされたすべてのアイテムの合計が必要です。したがって、最上位の親タスクには、すべてのネストされた時間 div の時間が含まれ、それをドリルダウンすると、ネストされた各親は、ネストされたすべての時間に対して同じことを行います。
これは私が現在使用しているものであり、ネストされて同じ数字をどこにでも配置するのではなく、1時間ごとのdivを計算するだけです。
var totalest = $('li.parent .totalhours');
var sum = 0;
$("li .hours").each(function() {
var val = $.trim( $(this).text() );
if ( val ) {
val = parseFloat( val.replace( /^\$/, "" ) );
sum += !isNaN( val ) ? val : 0;
}
totalest.html(sum);
});
この結果に期待したい
- I'm a Parent タスク 30 時間
- 私はタスク5時間
- 私はタスク10時間
- 親タスク 15 時間
- 私はタスク5時間
- 私はタスク10時間
- I'm another Parent タスク 20 時間
- 私はタスク5時間
- 私はタスク5時間
- 親タスク 10 時間
- 私はタスク5時間
- 私はタスク5時間