2014-06-17 23 views
0

考虑例如:http://jsfiddle.net/KWLu7/16/计算总体重要性。 Angularjs

我试图计算整体重要性价值总和每个选择的选择的重要性父准则重要性乘以:

var watch = $scope.$watch("prioritizationProfile", function() { 
    $scope.overallImportance = 0; 

    for(var j = 0; j < $scope.prioritizationProfile.length; j++) { 
     var criterionGroup = $scope.prioritizationProfile[j].criterionGroup; 

     for(var i = 0; i < criterionGroup.length; i++) { 

      var criterionChoices = criterionGroup[i].choices; 

      for(var k = 0; k < criterionChoices.length; k++) { 
       console.log(criterionChoices[k]); 
       if(criterionChoices[k].selected) { 
        $scope.overallImportance += 
         criterionChoices[i].importance * 
         criterionGroup[i].importance; 
       } 
      } 
     } 
    } 
}, true); 

如果你尝试它,你会看到最大值总是22.我在这里做错了什么?

回答

1

您正在使用你的内心错误的指数prioritizationProfileWatch

变化

$scope.overallImportance += criterionChoices[i].importance * criterionGroup[i].importance; 

的循环来

$scope.overallImportance += criterionChoices[k].importance * criterionGroup[i].importance; 
+0

是的,你说得对,我忽略了。谢谢! – lexeme