2016-09-26 67 views
0

我想要创建一个下拉列表,除了GO按钮。以这种方式,当我从下拉列表中单击第一项时,它应该重定向到第一个项目信息html页面,在GO按钮的帮助下,我还创建了下拉列表。同样的方式,如果我从下拉列表中点击第二个项目,它应该重定向到第二个项目信息html页面等等。如何从下拉列表重定向到新页面angularjs

+0

你可以在onchange事件中做下拉 – Natiq

回答

0

您可以在您的控制器中添加一个ng-change =“redirectTo()”标签到您的<select>触发功能。在控制器中,检查模型以知道重定向的位置。

+0

你能给我一些演示代码吗? –

0

我不知道你的路由机制,而是说你只是使用简单$window.location,你可以做这样的事情:

<select ng-options="route as route for route in routes" 
     ng-model="goToRoute"></select> 
<button ng-click="redirectToRoute()">Go!</button> 

而在你的控制器:

$scope.routes = ["http://www.google.com", "http://www.somesite.com"]; 

$scope.redirectToRoute = function() { 
    // redirect logic 
    var route = $scope.goToRoute; 
    $window.location.href = route; 
} 
0

演示Jsfiddle

<select ng-change='redirectTo("login")' ng-model="goto"></select> 

更改时需要添加以下代码s nippet

如果您正在使用

$routeProvider 

然后用

$location.url('#/home'); // without params 
$location.url('#/home/123'); // with params 

,或者如果你正在使用

$stateProvider 

然后用

$state.go('home'); // without params 
$state.go('home', {id:123}); // with params 
+0

我已经构建了示例jsfiddle,所以看看https://jsfiddle.net/cwwLq6ub/1/ –