ile bağlantıya tıklandığında bir JSON modeline gidin Bir kitabı seçmek için AngularJS with Dropdowns içinde bir kitaplık gerçekleştirmek ve kitabın bir bölümünü kullanmak istiyorum. Bir bölümün kesilmesinden sonra seçilen bölüm metni görüntülenir. Tüm kitaplar bir JSON biçimindedir. Sol alt köşedeki bağlantı ile sonraki bölüme nasıl giderim (resme bakın)?AngularJS
// index.html
<div ng-controller="ArticlesCtrl">
<br/>
<div class="dropdown">
<form class="form" name="myForm">
<label for="mySelect">Choose a Book:</label>
<select class="dropdown-select" name="mySelect" id="mySelect" ng-options="option.bname for option in articles" ng-model="articles.bname" ng-change="updateBook()"></select>
</form>
</div>
<div class="dropdown">
<form class="form" name="myForm" ng-show="chapters" class="ng-hide">
<label for="mySelect">Choose a chapter:</label>
<select class="dropdown-select" name="mySelect" id="chapter" ng-options="option.Icnumber for option in selected" ng-model="selected.Icnumber" ng-change="updateChapter()"></select>
</form>
</div>
<hr>
<p ng-repeat="paragraph in paragraphs track by paragraph.Ivnumber">{{paragraph.Ivnumber}} {{paragraph.Itext}}"</p>
<a>Next Chapter</a>
</div>
Picture: First i choose a Book and than the chapter dropdown appears
.controller('ArticlesCtrl', function($scope, $location, $http, Cart){
$scope.cart = Cart;
$http.get('lib.json').then(function(articlesResponse) {
$scope.articles = articlesResponse.data;
$scope.chapters = false;
$scope.paragraph = false;
$scope.show = false;
$scope.updateBook = function() {
var Item = $scope.articles.bname.Ibnumber;
var indexItem = Item - 1;
$scope.selected = articlesResponse.data[indexItem].CHAPTER;
$scope.chapters = true;
}
$scope.updateChapter = function() {
var Item = $scope.articles.bname.Ibnumber;
var indexItem = Item - 1;
var Chapter = $scope.selected.Icnumber.Icnumber;
var indexChapter = Chapter - 1;
$scope.paragraphs = articlesResponse.data[indexItem].CHAPTER[indexChapter].PARAGRAPH;
$scope.paragraph = true;
}
});
})
Teşekkür
teşekkürler. İlk kez iyi çalışıyor ama şimdi açılır listeyi de güncellemem gerekiyor, bağlantıyı iki kez tıklayamıyorum. Bunu nasıl yapabilirim? – Developer
Bir sonraki bölümdeki bağlantıda bir + 1'liği kaçırdınız. Umarım şimdi çalışır –
Bu sadece $ scope.selected.Icnumber' ayarlanarak güncellenebilir. Cevabı güncellendi. –