ng-repeat

时间:2016-03-12 18:25:31

标签: javascript angularjs ng-repeat ng-options

我现在用ngOptions,ngRepeat努力了几天。我必须做一些像人控制的选择选项。我的REST服务在下面给我一些类似于数组的数组。我尝试了Angular文档中的每个stackoverflow答案和示例。没有结果。我甚至无法表现出一个属性 - 我做错了吗?

下面有一些尝试。

感谢您的任何建议和帮助。

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

//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});

function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.players = [{"id": "1", "nickName" : "Cole", "firstName" : "Mark", "lastName" : "Coleman"}, {"id" : "2", "nickName" : "West", "firstName" : "Peter", "lastName" : "West"}];

}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<form>
        <label>Captain:
            <select ng-model="team.captain">
                <option ng-repeat="player in players" value="{{player.id}}"> {{player.firstName}} {{player.lastName}}</option>
            </select>
        </label><br />
    </form>

4 个答案:

答案 0 :(得分:1)

您忘了在自己的应用中注册控制器:sub

然后在html set cannot :edit, User, User.all do |user| user.has_role?(:superadmin) end 的模板中。

然后在模板中指定控制器,它控制所需的模板,如angular.module('myApp').controller('MyCtrl', MyCtrl);

答案 1 :(得分:0)

<!DOCTYPE html>
<htm ng-app="myApp">


<body>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<form ng-controller="MyCtrl">
..            <select ng-model="team.captain">
                <option ng-repeat="player in players" value="{{player.id}}"> {{player.firstName}} {{player.lastName}}</option>
            </select>
     </form>
  <script>
    var myApp = angular.module('myApp',[]);

 function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.players = [{"id": "1", "nickName" : "Cole", "firstName" : "Mark", "lastName" : "Coleman"}, {"id" : "2", "nickName" : "West", "firstName" : "Peter", "lastName" : "West"}];

}

myApp.controller('MyCtrl',MyCtrl);
    </script>
</body>

</html>

答案 2 :(得分:0)

您需要注册myApp模块的控制器

像:

var myApp = angular.module('myApp',[]);
myApp.controller('myCtrl', MyCtrl);

function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.players = [{"id": "1", "nickName" : "Cole", "firstName" : "Mark", "lastName" : "Coleman"}, {"id" : "2", "nickName" : "West", "firstName" : "Peter", "lastName" : "West"}];

}

并在html中,您应该使用ng-app="myApp"ng-controller="myCtrl"

像:

<html ng-app="myApp"> //used module

  <head>
    // load your script here
  </head>

  <body ng-controller="myCtrl"> // used controller
    <form>
        <label>Captain:
            <select ng-model="team.captain">
              <option value ="">select one</option>
              <option ng-repeat="player in players" value="{{player.id}}"> {{player.firstName}} {{player.lastName}}</option>
            </select>
        </label><br />
    </form>
  </body>

</html>

PLUNKER DEMO LINK

答案 3 :(得分:0)

亲爱的,试试这个:

APP.JS CODE

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

function MyCtrl($scope) {
    $scope.name = 'Superhero';
    $scope.players = [{"id": "1", "nickName" : "Cole", "firstName" : "Mark", "lastName" : "Coleman"}, {"id" : "2", "nickName" : "West", "firstName" : "Peter", "lastName" : "West"}];
    $scope.selected = $scope.players[0];
}

HTML CODE

<select ng-options="player as player.nickName for player in players ng-model="selected"></select>
  1. 工作小提示您的代码:Select in AngularJs Fiddle
  2. 谢谢&amp;干杯