2016-06-13 85 views
0

在我的视图中,我使用ng-click来下载像UL一样的下拉菜单。当我在列表中选择一个项目时,它未被选中。我究竟做错了什么。访问angularjs中的clicked li元素

HTML:

<div class="btn-group" id="divWotcStatuss" style="display: inline-block;" ng-show="clickedStatus"> 
         <button type="button" class="btn btn-default dropdown-toggle btn-link" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
          <span id="h2HeaderCompany" style="color:navy; font-size:25px;text-shadow:rgba(0,0,0,0.5) 0 1px 2px;"> 
          {{statusById.EvalstatusTitle}} 
          </span> 
          <span class="caret"></span> 
         </button> 
         <ul class="dropdown-menu"> 
          <li ng-repeat="status in Enums.StatusForDropdown" > 
           <a ng-click="clickedStatus=status.EvalStatusId; FilterEmpsList()"> 
            {{status.EvalstatusTitle}} 
            </a> 
          </li> 
         </ul> 
        </div> 

JS:

$scope.GetStatusById = function() { 

     $scope.statusById = $scope.Enums.StatusForDropdown.find(function (el, idx) { 
    return el.EvalStatusId === $scope.clickedStatus; 
     }) 
    }; 


WotcDashBoardModule.constant('Enums', { 
    StatusForDropdown:[ 
         {EvalStatusId: '0', EvalstatusTitle: 'WOTC Screened'}, 
         {EvalStatusId: '5', EvalstatusTitle: 'WOTC Pre-Qualified'}, 
         {EvalStatusId: '2', EvalstatusTitle: 'Submitted All Docs'}, 
         {EvalStatusId: '11', EvalstatusTitle: 'Submitted Missing Docs'}, 
         {EvalStatusId: '10', EvalstatusTitle: 'Not Submitted'}, 
         {EvalStatusId: '3', EvalstatusTitle: 'Employees Approved'}, 
         {EvalStatusId: '9', EvalstatusTitle: 'Employees Denied'}, 
         {EvalStatusId: '4', EvalstatusTitle: 'Request For Additional Info'} 
         ] 
}); 

回答

1

不知道你的所选择的意思,但我会带我的最好的猜测,你可以做休息。你有一个ng-click FilterEmpsList()方法,我会将值传递给像FilterEmpsList(status.EvalStatusId)那样的方法,然后在那个方法中,你可以把值赋给其他一些变量。

var FilterEmpsList = function (value) { 
    $scope.SelectedValue = value; 
} 

然后,您可以像使用$ scope.SelectedValue那样使用它。