2014-07-22 62 views
0

我是angular和json中的新成員,所以如果有人能幫助我。在angularjs中調用另一個數組中的json數組

我有json數組我有用戶和賣家的名字從用戶那裏買東西。

JSON:

[ 
    { 
    "name":"Kakaro", 
    "sallers":[ 
    {"sellername":"Naruto","payment":"250","date":"07\/07\/2014","receipt":"popup"}, 
    {"sellername":"Sasuka","payment":"502","date":"08\/07\/2014","receipt":"popup"} 
    ] 
    }, 
    { 
    "name":"Collin Ferall", 
    "sallers":[ 
     {"sellername":"Jonny deep","payment":"250","date":"07\/07\/2014","receipt":"popup"}, 
     {"sellername":"Brad Pitt","payment":"502","date":"08\/07\/2014","receipt":"popup"} 
    ] 
    } 
] 

我所試圖做的事:當我們選擇用戶,然後用戶的賣家的數據來自表。

我見過很多解決方案,但是我在所有解決方案中都失敗了。現在我正處於開始階段。

問題:我不知道如何正確調用另一個數組角度的數組。

HTML:

<div id="main" class="row" ng-controller='payment'> 
    <div> 
    <label>Client Name:</label><br/> 
    <select class="form-control input-sm" name="client_name"> 
     <option ng-repeat="names in name" value="{{names.name}}" ng-model="select">{{names.name}}</option> 
    </select> 
    </div> 
    <div id="seller" class="margins_top"> 
    <table class="table table-bordered"> 
     <thead> 
     <tr> 
      <td>Seller Name</td> 
      <td>Payment</td> 
      <td>Date</td> 
      <td>Payment Receipt</td> 
     </tr> 
     </thead> 
     <tbody> 
     <tr ng-repeat="sellers in seller"> 
      <td>{{sellers.sellername}}</td> 
      <td>{{sellers.payment}}</td> 
      <td>{{sellers.date}}</td> 
      <td>{{sellers.receipt}}</td> 
     </tr> 
     </tbody> 
    </table> 
    </div><!-- /#seller --> 
</div> 

控制器JS:

var app = angular.module('payment', []); 


app.controller('payment',function($scope,$http){ 
    getrecord(); // Load all available tasks 
    function getrecord(){ 
    $http.post("angular/ajax/payment.php").success(function(data){ 
     $scope.name = data; 
     $scope.seller = data[0].sallers; 
    }); 
    } 
}); 

我已創建小提琴,但它並沒有使用,但還是我加入吧。

Fiddle

回答

1

嘗試這樣

在你的HTML

<select class="form-control input-sm" name="client_name" ng-model="select"> 
    <option ng-repeat="names in name" value="{{names.name}}"> {{names.name}}</option> 
</select> 

,並在你的JS

$scope.$watch('select', function(newvalue) { 
      angular.forEach($scope.name, function(value, key) { 
       if(value.name == newvalue) { 
       $scope.seller = value.sallers; 
       } 
      }); 
      }); 
+0

你能告訴我如何將我稱之爲 「sallers」 在NEWVALUE – Xitas

+0

我試過數據[0] .sallers;但是隻顯示第一個用戶的數據! – Xitas

+0

用你是對的,等一下我修好了 – ThomasP1988

相關問題