繁体   English   中英

AngularJs选择添加选项

[英]AngularJs select add option

我使用angularjs并选择options集合。 如果我在html选项标签中添加了所有选项,那么效果很好。 但是,如果我尝试从角度添加项目,则无法正常工作。

我的代码:

<div ng-controller="statisticsTableController">
  <select ng-model="publishersdata" 
          ng-options="s for s in publishersdata"
          chosen option="publishersdata">
  </select>
</div>

和AngularJs代码:

function statisticsTableController($scope, $http) {
  var publishersArray = [];

  $http.get('/api/getAllItems').success(function(data) {  
    angular.forEach(data, function(data) {
      publishersArray.push(data.Name);
    });
  });

  this.publishersdata = publishersArray;
  //...
}

为什么不起作用? 以及如何解决?

更新

更改后:

function statisticsTableController($scope, $http) {
    var publishersArray = [];

    $http.get('/api/getAllItems')
        .success(function (data) {
            angular.forEach(data, function (data) {
                publishersArray.push(data.Name);
            });
        });

    $scope.publishersdata = publishersArray;
    //...
}

HTML:

<div ng-controller="statisticsTableController">
  <select multiple 
          ng-model="publishersdata" 
          ng-options="s for s in publishersdata"
          chosen option="publishersdata">
  </select>
</div>

它不能正常工作

我看到的一个问题是,您的ng-modelng-options指向同一个publishersdata对象,这可能是导致刹车的原因之一。 您的ng-model应该是一个对象,其中包含在下拉列表中选择的对象。

同样如上所述,您应该将publishersdata附加到$scope ,否则将无法在HTML中访问它。

除此之外,这对我来说还不错。

尝试使用代码代替foreach参数中的数据使用值

angular.forEach(data, function (value) {
           publishersArray.push(value.Name);
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM