Ng-Change第二次不开火

时间:2016-12-11 15:31:10

标签: angularjs angularjs-ng-change

我有以下选择:

    <div class="form-group">
            <label class="col-md-4 control-label" for="activity">Activity</label>
            <div class="col-md-4">
                <select id="activity" name="activity" class="inputsvalues" ng-model="activitymodel.deptid" ng-change="getUsers(activitymodel.deptid)" ng-options="activity.DepartmentId as activity.ActivityDescription for activity in activities"></select>
            </div>
        </div>

控制器代码:

    $scope.getUsers = function (id) {

    $http({
        method: 'GET',
        url: 'api/User/GetUsers/' + id,


    }).success(function (data, status, header) {
        $scope.users = data;

    }).error(function (data, status, headers, config) {
        $scope.status = status + ' ' + headers;
    });

}

问题是ng-change函数在第一次选择时被触发。第二次,它没有击中控制器。这可能有什么问题?

1 个答案:

答案 0 :(得分:1)

这是因为..代码ng-model的..对于下拉列表中的每个值都是相同的。为每个选项制作独特的ng-model。使用$ index来实现这一点作为解决方案之一。