2014-09-16 2 views
0

다른 배열에 기초하여 특성 값을 변경 내 속성 json 데이터에 FilteredAs 속성이있는 이유는 무엇입니까? 내가 어떻게 할 것은 :AngualrJS 내가 같이 JSON 데이터 구조가

하면 (items.key = properties.PropertyName) 예 : (항목의 배열의 첫 번째 속성입니다) "색상"== "PROPERTYNAME": "색상" 그 속성 배열의 해당 개체의 FilteredAs 속성은 "FilteredAs"입니다. "AllColors", AllColors는 "Red"로 변경됩니다.

달성 방법에 대한 아이디어가 있으십니까? 감사! 내가 제대로 $로 scope.properties 그것을 이해한다면 당신은 객체를 통해 foreach 필요와 색상을위한 속성을 식별 할

angular.forEach($scope.items, function (value, key) { 
      for (var i = 0; i<= $scope.properties.length; i++) { 

       if ($scope.properties[i].PropertyName == $scope.items[value]) { 
        $scope.properties[i].SearchText = $scope.items[key]; 
       } 
      } 
+0

원하는 내용에 대한 설명을 업데이트 할 수 있습니까? 정확히 무엇을 의미하는지 이해하지 못합니다. –

+0

설명을 이미 편집했습니다. –

+0

작성한 웹 서비스를 호출 할 때 propertyname 색상의 FilteredAs 속성을 Red로 변경하려고했습니다. –

답변

0

배열되어

편집 : 이것은 내가 지금 무엇을 가지고 . 아래는 당신이 찾고있는 것을해야합니다.

$scope.properties.forEach(function (property) { 
    if (property.PropertyName === "Color") { 
     property.FilteredAs = "Red" // Or whatever value or variable you have got back from webservice 
    } 
}); 

희망이 올바르게 이해하고 도움이됩니다.

편집 : $scope.items은 배열입니다. angular.forEach는 객체와 동일한 방식으로 작동하지 않습니다. 아래처럼 코드를 변경해야합니다. 이와

angular.forEach($scope.items, function (item) { 
     for (var i = 0; i<= $scope.properties.length; i++) { 

      if ($scope.properties[i].PropertyName == "Color") { 
       $scope.properties[i].SearchText = item.Color; 
      } 
     } 

$scope.properties[i].SearchText의 값이 항상 $scope.items 배열의 마지막 색상이 될 것이지만. WebService에서 말하는 색상으로 배열에서 올바른 색상을 선택했는지 확인해야합니다.

+0

편집 내 게시물 :) 하단 부분. –

+0

내 게시물을 편집했습니다. –

+0

이 줄에서는 $ scope.properties [i] .PropertyName == "Color"를 $ scope.items [value]로 액세스하고 싶습니다. –