HTML
<option data-task-hours="100" value="1"> - Parent Task</option>
<option data-task-hours="50" value="2"> - - Child task 1 </option>
<option data-task-hours="25" value="3"> - - - Child task 1.1</option>
<option data-task-hours="25" value="4"> - - - Child task 1.2</option>
<option data-task-hours="50" value="5"> - - Child task 2</option>
jQuery代码,用于获取所选下一个选项的总值:
var selectedOption = $('#dropDownId option:selected')
var selectedOptionValue = selectedOption.data('task-hours');
var sum = 0;
selectedOption.nextAll().each(function(){
if (sum < selectedOptionValue) {
sum += $(this).data('task-hours');
} else {
sum = selectedOptionValue;
return false;
}
});
该代码仅适用于父任务。如果我添加一个小孩,即Child 1.1
小时= 25,它就不会允许。我们如何分解子任务时间,即50
可以进一步细分为25+25
,并检查Child task 1
是否有子孩Child task 1.1
和Child task 1.2
有没有更好的方法来区分parent and child task
哪些可以进一步细分为sub-child task
?
答案 0 :(得分:0)
我会在每个项目上添加一个data-parent-id:
<option data-task-hours="100" data-parent-id="0" value="1"> - Parent Task</option>
<option data-task-hours="50" data-parent-id="1" value="2"> - - Child task 1 </option>
<option data-task-hours="25" data-parent-id="2" value="3"> - - - Child task 1.1</option>
<option data-task-hours="25" data-parent-id="2" value="4"> - - - Child task 1.2</option>
<option data-task-hours="50" data-parent-id="1" value="5"> - - Child task 2</option>