2016-08-06 3 views
0
$scope.isChecked = function(id){    
    var i=0,j=0,k=0; 
    //$scope.abc[i].usertype[j].keywords[0].key_bool=true; 
    if($scope.abc[i].type_selected == true){ 
     while($scope.abc[i].usertype.length){ 
      while($scope.abc[i].usertype[j].keywords.length){ 
       if($scope.abc[i].usertype[j].keywords[k]._id == id){ 
        if($scope.abc[i].usertype[j].keywords[k].key_bool == true){ 
         $scope.abc[i].usertype[j].keywords[k].key_bool = false; 
         return false; 
        } 
        else{ 
         $scope.abc[i].usertype[j].keywords[k].key_bool = true; 
         return true; 
        }       
       } 
       k++; 
      } 
      j++; 
     } 
    } 
}; 

j ++가 증가하는 동안 k ++가 증가하지 않고 있습니다. 누군가이 사실을 설명 할 수 있습니까?컨트롤러에서 증분이 작동하지 않습니다.

체크 박스가 체크 때마다 호출

의 IsChecked 기능 /로 체크되지 않은 :

ng-click="isChecked(l._id)" 

모든 것이 'J = 0',하지만하지 않는 나중에 'J'값을 완벽하게 작동합니다.

답변

0

단순히 return 문으로 인해 return 문에 도달 할 때마다 함수가 실행되지 않습니다. 그래서 j ++; if 문이 실행될 때마다 도달 할 수 없습니다.

+0

plz이 질문을 올바르게보십시오. –

+0

@AvinashSharma 정확한 문제는 무엇입니까? 자네가 말한 것은 사실이다. J ++은 내부 문장으로 들어 가지 않는 한 외부 루프 만 실행한다. 정확히 무엇이 문제인가? – henrybbosa

+0

'j'의 값을 증가 시키길 원합니다. j = 0, i는 내 대답을 얻었지만 j = 1,2 ,, .....는 'j'값을 캡처하지 않았습니다. –

0

j=0이고, 내부는 while loop이며, return 문에 도달하면 기능이 작동하지 않습니다.

그래서 outer while loop이 다시 실행되지 않습니다.

+0

plz 제대로 질문을 참조하십시오. –

0

read this는 내가 대답을 가지고, return에 대한 자세한 내용을 얻을합니다. 우리는 k = 0; 2 while 루프 사이. 아직도 도움을 주셔서 감사합니다.

관련 문제