从angularjs中的下拉列表中调用href

J. *_*son 5 angularjs angularjs-directive

我使用angularjs有下面的下拉菜单.

   <select ng-href="#/edit/{{name.id}}" class="form-control"  id="{{name.id}}">  
   <option ng-repeat="name in addas | filter:cc"
   id="{{name.id}}" value="{{name.name}}">{{name.as_number}}</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

我试图在下拉列表中调用选定选项的href.下拉填充很好.当我选择任何选项时,它不会做任何事情或调用网址.请告诉我如何在angularjs中实现这一目标.

use*_*643 4

<select ng-model="adda" ng-options="a.name for a in addas" ng-change="onChange()">  
</select>
Run Code Online (Sandbox Code Playgroud)

控制器示例:

function Ctrl($scope, $location) {
    $scope.addas = [
        {id: 1, name: 'a1', as_number: 1},
        {id: 2, name: 'a2', as_number: 2},
        {id: 3, name: 'a3', as_number: 3}
    ];

    $scope.onChange = function() {
        $location.path('/edit/' + $scope.adda.id);
    }
}
Run Code Online (Sandbox Code Playgroud)

$location.path()似乎对小提琴没有任何影响,因此路径只是显示在页面上,但它应该按预期工作。


你的方法有很多问题。首先,您ng-repeat在选项元素上使用,因此name.id在该元素之外不可用。可能是undefined当您使用它时ng-href(除非您也在范围中定义了它$parent,但如果我理解正确的话,这不是真的)。