Angular ng-change事件无法进行首次更改?

时间:2015-06-24 20:24:20

标签: javascript html angularjs sharepoint-2010 scope

仍在学习Angular的绳索,我有一个表格可以将学生加入JSON回归的精选下拉菜单中,我想根据学生ID将学校名称标签更改为学生学校列出的学校。这是JSON的所有部分,它的工作......有点儿。当我从下拉列表中选择学生时没有任何反应,但是如果我将选择更改回默认值,则更改将起作用,而标签现在具有预期值。

在我的.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中的webpart

1 个答案:

答案 0 :(得分:1)

找到你的主要问题,null无法加盖:

"CurrentStatus":null 

不是

"CurrentStatus":NULL

在变量命名不一致的情况下加入(套管不一致),你就是疯狂的骑行!

我为你解决了这个问题并让它做了我认为你想做的事情,请在这里查看:

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