2015-10-16 156 views
2

我有三个选择菜单,它们相互绑定,并且想要设置两个选择菜单的选定值。我想设置的价值来自范围。我尝试ng-init,但没有奏效。工作Plunker设置选择菜单的选定值

<select ng-init="selManga=direk" ng-model="selManga" ng-options="manga.seri for manga in mangas"> 
    <option value="">Select a Manga</option> 
</select> 

<select ng-init="selChapter=bacanak" ng-show="selManga" class="browser-default" ng-model="selChapter" ng-options="+idx as chapter.klasor for (idx, chapter) in selManga.randomword"> 
    <option value="">Chapter</option> 
</select> 

<select ng-show="selManga.randomword[selChapter].yol" class="browser-default" ng-model="selPage" ng-options="+idx as (+idx + 1) for (idx, page) in selManga.randomword[selChapter].yol"> 
    <option value="">Page</option> 
</select> 

的Javascript:

.controller('nbgCtrl',function ($scope, MMG, $stateParams) { 
$scope.direk = $stateParams.seri; 
$scope.bacanak = $stateParams.klasor; 

MMG.adlar.success(function(loHemen) { 
    $scope.mangas = loHemen; 
}); 
$scope.next = function (manga, chapter, page) { 
    var nextPage = page + 1; 
    if (angular.isDefined(manga.randomword[chapter].yol[nextPage])) { 
     $scope.selPage = nextPage; 
    } else if (angular.isDefined(manga.randomword[chapter + 1])) { 
     $scope.selChapter = chapter + 1; 
     $scope.selPage = 0; 
    } 
} 
}) 
+1

你想设置下拉菜单的默认值? –

+0

@George Bora号码设置选定的。像这样:[MangaYurdu](http://mangayurdu.com/oku/One_Piece/803) – Nasuh

+0

你的问题不清楚..请问你正在尝试做什么? –

回答

1

要从url中提取漫画,章节和页面的值,您应该使用$routeParams对象,该对象应该包含ngRoute

我编写了一个示例here它可能并不明显,但如果您下载代码并在您自己的浏览器中运行它,则可以从url栏访问像Manga/Naruto/ch/100这样的路由。

将应用程序重构为使用路径和routeParams后,在我的示例中,我直接将从url获得的章节和页面绑定到视图,但如果将它们绑定到下拉列表的模型,则下拉列表将更新。

$scope.params = $routeParams; 
$scope.selManga = $scope.params.bookId 

这不会更新网址,因为您从下拉列表中选择。

+0

在这里,先生,我终于管理创造普及。你能看一下吗? [http://plnkr.co/edit/foFjixSEyXtoEeP9uSHP?p=info](http://plnkr.co/edit/foFjixSEyXtoEeP9uSHP?p=info) – Nasuh

+0

@Nasuh我下载了plunkr,它为我工作,祝贺,做你想添加更多?PS:不要叫我先生:))我不是那么老 –

+0

不明白你会帮忙吗? – Nasuh

1

在你的代码有分配direkbacanak价值1倍以上这可能会导致问题。设置variable属性只有一次。从$stateParams

$scope.direk = $stateParams.seri; 
$scope.bacanak = $stateParams.klasor; 

$scope.direk = $stateParams.xy; //Remove if not required 
$scope.bacanak = $stateParams.xz; //Remove if not required 

设置selManga值,而不是将其设置为direk

$scope.selManga = $stateParams.seri; // Set selManga from $stateParams 
$scope.selChapter = $stateParams.klasor; // Set selChapter from $stateParams 

之所以ng-init="selManga=direk"不行是因为语法错误:ng-init="selManga=direk"应该做的语法正确后ng-init="selManga='direk'"dropdown会没有设置,因为ng-repeatng-init设定值为模型,但在设定值时ng-repeat没有完成选项设置值,所以selManga设置从ng-init不更新选项下拉。

+0

没有,没有工作。 – Nasuh

+0

检查更新的答案... –

相关问题