根据下拉列表中的选择更改下拉列表名称

根据下拉列表中的选择更改下拉列表名称

问题描述:

我想根据下拉列表中的选择更改导航栏中的下拉列表名称。我发现HTML标签不支持ng-click。我曾尝试过,但它不起作用。帮助我找到解决这个问题的办法。需要使用angularJs的解决方案,但最糟糕的情况是jQuery是可能的。根据下拉列表中的选择更改下拉列表名称

我的代码:

HTML

 <div id="navbar" class="navbar-collapse collapse"> 
      <ul class="nav navbar-nav navbar-right"> 
       <li><a href="#">Link</a></li> 
       <li class="dropdown"> 
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Current: {{currentApplication}}</a> 
        <ul class="dropdown-menu" ng-repeat="application in applications" ng-click="changeApplication(application.name)"> 
         <li><a href="#">{{application.name}}</a></li> 
        </ul> 
       </li> 
      </ul> 
     </div> 

myApp.controller("navbarController", function ($scope, $http) { 
    $scope.currentApplication = "default"; 

    var changeApplication = function(name) { 
     $scope.currentApplication = name; 
    }; 
    $http({ 
     method: 'GET', 
     url: 'applications' 
    }).then(function success(response) { 
     $scope.applications = response.data, 
    }); 
}); 

ng-click="changeApplication什么也不做,因为你定义的函数为:

var changeApplication = function(name) { 
    $scope.currentApplication = name; 
}; 

绑定到$scope as:

$scope.changeApplication = function(name) { 
    $scope.currentApplication = name; 
};