2016-11-22 7 views
0

配列から選択した結果を表示するために、2つのJSON配列オブジェクトをフィルタリングしようとしています。私は2つのForループとIfステートメントを使用して、何が表示される必要があるかをフィルタリングしています。Forループ、If文とng-repeatを使用して配列項目(json)を表示

しかし、私の問題は、IfステートメントがForループの結果をフィルタしていないように見えるということです。 JSONオブジェクトのすべての項目が表示されます。助けてください。

角度/ javascriptの

 var url = generateQuery('GET', '/products', CONFIG, params); 
     $scope.result = ""; 
     var i; 
     var j; 
     $scope.items = []; 
     $http.get(url) 
      .success(function(data, status, headers, config) { 
       $scope.result = data; 

       for (i = 0; i < $scope.result.products.length; i++) { 

        for (j = 0; j < $scope.result.products[i].categories.length; j++) { 
         $scope.category_limit = $scope.result.products[i].categories[j]; 

         if ($scope.category_limit = 'Jewellery') { 

          $scope.items.push({ 
           image: $scope.result.products[i].featured_src, 
           name: $scope.result.products[i].title, 
           price: '$' + $scope.result.products[i].price + ' (R' + ($scope.result.products[i].price * $scope.convert.results.rate.Rate).toFixed(2) + ')', 
           id: $scope.result.products[i].id, 
           cat: $scope.category_limit 
          }); 
          $ionicLoading.hide(); 

         } else { 
          $ionicLoading.hide(); 
         } 
        } 

       } 

      }) 

HTML

 <div class="category-col" ng-repeat="i in items" id="swap_row_col"> 

      <a ng-href="#/app/products/{{i.id}}" href="#/app/products/{{i.id}}" class="no-underline"> 
       <img src= {{i.image}} class="category-image-col">  
       <!--<img src='images/add_to_cart.png' style="height: 24px; width: 28px; z-index: 5; position: fixed; margin-left: 34%; margin-top: -13%;">           --> 
       <div class="category-name-col"> {{i.name}} </div> 
       <div class="category-price-col"> {{i.price}} </div> 
       <div class="category-price-col"> {{i.cat}} </div> 
      </a> 

     </div> 
+1

あなたは、返された 'data'のように見えますか? – rfornal

+0

"ジュエリー"は "ジュエリー"であるはずですか?あなたのデータを見ることなく、私たちはちょうどここで推測しています。 –

答えて

2

私は、あなたがもし($ scope.category_limit == 'ジュエリー'){ ==記号 を行方不明だと思います。 .... }

+0

それは私が受け取っていたデータオブジェクトが問題だったようです。各Productsオブジェクトには、同じ量のカテゴリ項目がありませんでした。 $ scope.category_limit ==「ジュエリー」は正解ですが、ありがとうございます。これを正しい答えとしてマークし、関連する問題を解決します – eohdev

関連する問題