【问题标题】:convert ng-repeat to ng-option error将 ng-repeat 转换为 ng-option 错误
【发布时间】:2017-10-18 22:48:39
【问题描述】:

我有以下用于选择标签的 html 代码。

<option ng-repeat="option in AllData" value="{{item.Id}}" ng-selected="data.Symbol==item.Id">{{item.Symbol}}</option>

我想将其转换为 ng-options。有人可以对此有所了解。

AllData 的值如下。它是一个对象数组。

0:Object
 Id: 1
 Symbol: "GR"
1:Object
 Id: 2
 Symbol: "DR"

我尝试了类似的方法,但没有成功。

ng-options="item as item .Symbol for item in AllData track by item.Id">

【问题讨论】:

    标签: javascript html angularjs select ng-options


    【解决方案1】:

    使用ngOptions 时,还必须将ng-model 绑定到初始值select。 提一下,既然你用了track by item.Id,那么默认值至少应该包含Id属性,并且满足Id属性之一。 请参考以下示例:

    angular.module("app", [])
      .controller("myCtrl", function($scope) {
    
        $scope.AllData = [{
          0: Object,
          Id: 1,
          Symbol: "GR"
        }, {
          1: Object,
          Id: 2,
          Symbol: "DR"
        }];
    
        //$scope.data = $scope.AllData[0];
        $scope.data = {
          0: Object,
          Id: 1,
          Symbol: "GR"
        };
      });
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
    <div ng-app="app" ng-controller="myCtrl">
      <select ng-model="data" ng-options="item as item.Symbol for item in AllData track by item.Id"></select> {{selectedItem}}
    </div>

    【讨论】:

      【解决方案2】:

      试试这个

      <select ng-options="option as option.Symbol for option in AllData">
          </select>
      

      【讨论】:

      • 但我希望将值选为 option.Id 并将值显示为 option.Symbol
      猜你喜欢
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 2016-03-01
      • 2014-04-12
      • 2017-02-14
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      相关资源
      最近更新 更多