【问题标题】:calling json array in another array in angularjs在angularjs的另一个数组中调用json数组
【发布时间】:2014-07-22 10:30:38
【问题描述】:

我是 angular 和 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"}
    ]
  }
]

我正在尝试做的事情:当我们选择用户时,用户的卖家数据就会出现在表格中。

我见过很多解决方案,但我在所有解决方案中都失败了。现在我正处于我开始的起点。

问题:我不知道如何在另一个数组angular中正确调用数组。

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

【问题讨论】:

    标签: javascript arrays json angularjs


    【解决方案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;
                    }
                });
                });
    

    【讨论】:

    • 你能告诉我如何在 newvalue 中称呼“sallers”
    • 我试过 data[0].sallers;但它只显示第一个用户的数据!
    猜你喜欢
    • 1970-01-01
    • 2017-05-08
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多