2015-10-16 3 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 No. Установите выбранные. Например: [MangaYurdu] (http://mangayurdu.com/oku/One_Piece/803) – Nasuh

+0

Ваш вопрос непонятен. Пожалуйста, правильно спросите, что вы пытаетесь сделать? –

ответ

1

Чтобы извлечь значения для манги, главы и страницы из URL-адреса, вы должны использовать объект $routeParams, который должен содержать ваш модуль ngRoute.

Я подготовил пример here, это может быть не очевидно, но если вы загрузите код и запустите его в своем собственном браузере, вы можете получить доступ к маршрутам, например Manga/Naruto/ch/100, из строки url.

После того как вы изменили свое приложение на использование маршрутов и маршрутовParams, в моем примере я напрямую привязываю раздел и страницу, которые я получаю от URL-адреса, но если вы привязываете их к моделям выпадающих меню, выпадающие меню будут обновляться ,

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

Это не обновляет URL-адрес, как вы выберете из раскрывающегося списка.

+0

Здесь, сэр, я, наконец, управляю созданным плугом. Не могли бы вы посмотреть на это, пожалуйста? [http://plnkr.co/edit/foFjixSEyXtoEeP9uSHP?p=info](http://plnkr.co/edit/foFjixSEyXtoEeP9uSHP?p=info) – Nasuh

+0

@ Насух ​​я загрузил plunkr, и это сработало для меня, поздравляю, сделаю вы хотите добавить что-то еще?ps: не называйте меня сэр :)) Я не такой старый –

+0

Не понимаете, что вы поможете или нет? – Nasuh

1

В своем коде вы должны назначить direkbacanak и значение более чем один раз, что может привести к проблеме. Установить variable недвижимость только один раз.

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

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

Set selManga значение из $stateParams вместо того, чтобы его 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-repeat. ng-init заданное значение для модели, но в момент установки значения ng-repeat не заполняет значение параметра для опций, поэтому selManga набор из ng-init не обновляет опцию выпадающего списка.

+0

Нет, что не получилось. – Nasuh

+0

Проверить обновленный ответ ... –

Смежные вопросы