2015-11-09 61 views
0

我想传递一个值到一个函数在AngularJS传递:AngularJS价值为未定义

<div class="form-group" ng-repeat="d in departments"> 
    <div> 
     <label class="col-md-2 control-label" for="userType">Department</label> 
     <div class="col-md-3"> 
      <select id="department" class="form-control" ng-model="d.departmentKey" ng-init="listDepartments()" ng-options="dl.deptkey as dl.deptName for dl in getDepartmentList" ng-change="listSubDepartments(d)"></select> 
     </div> 
    </div>    
</div> 

控制器:

angular.module("timesheetManagement").controller("addNewUserCtrl", function ($scope, addUserResource) { 
    $scope.listSubDepartments = function (d) { 
     var departmentKey = d.departmentKey 
    } 
} 

但由于某些原因d.departmentKey刚刚被传递as“undefined”

+0

显示您的数据。 –

+0

对于下拉框? –

+0

Plunker链接?请 –

回答

0

尝试不通过变量如下

$scope.listSubDepartments = function() { 
    var departmentKey = $scope.d.departmentKey 
} 

因为您已经定义了$ scope中可用的ng模型。

0

它是不确定的,因为你实际上不通过它。您应该使用ng-init="listDepartments(d)"为函数提供值。

,可能ng-init不这样做一个完美的方式,因为它只能执行一次