Angular ng-change 事件不适用于第一次更改?

Angular ng-change event not working on first change?

仍在学习 Angular 的诀窍,我有一个表格可以将学生从 JSON return 加载到 select 下拉列表中,我想更改学校名称根据学生 ID 将学校列为学生学校的标签。这是 JSON 的所有部分,它正在工作......有点。当我从下拉列表中 select 学生时,没有任何反应,但如果我将 selection 更改回默认值,则更改有效并且标签现在具有预期值。

在我的 .ascx

<select name="studentList" ng-model="student" ng-change="getStudent(student)" ng-options="s.StudentID as s.FirstName for s in cStudents | orderBy:'FirstName'">
                <option value="">Choose Students...</option>
            </select>

来自控制器

angularVolunteerApp.controller('vAppController',
function vAppController($scope, $window) {
    $scope.cStudents = $window.xStudents;

    $scope.getStudent = function(xStudent) {

        angular.forEach(xStudents, function (s) {

            if (s.StudentId == xStudent) {
                $scope.cSchoolName = s.SchoolName;
            }
        });

        //$scope.cSchoolName = xStudent;
    };

});

不确定这是否相关,但这适用于 Sharepoint 2010 中的 Web 部件

找到你的主要问题,null 不能大写:

"CurrentStatus":null 

没有

"CurrentStatus":NULL

再加上变量命名不一致(大小写不一致),你就快要疯了!

我已经为您解决了所有问题,并使其按照您的意愿进行操作,请在此处查看:

http://plnkr.co/edit/o5Y12VUrNX0OHNxJ3dT5?p=preview