2016-03-29 12 views
0

'catID' ve 'catName' öğelerinden oluşan bir Json dizim var. Şimdiye kadar, her kategori ile etiketlenmiş bir düğme listesi oluşturmayı başardım. Kullanıcı, kategori ile ilişkili düğmeyi tıkladığında catID'yi döndürmeye çalışıyorum. Şu anda $ index'i döndürüyor, ki bu iyi, ama ideal olarak catID, bilgiyi kodumun bir sonraki aşamasına aktarmamı sağlıyordu. Doğru düğmeyi etkinleştirmek için $ endeksine ihtiyacım var.Bir ng-yineleme düğmesi listesinden bir değişken döndürmek gerekiyor

<h4>Select Category</h4> 
    <ul class="nav nav-pills"> 
     <li ng-repeat="categories in model" ng-class="{'active':rowIndex == $index }" ng-click="selectRow($index)"> 
     <a href="">{{categories.catID + " " + categories.catName}}</a> 
     </li> 
    </ul> 

Benim Açısal kontrolör:

Bu şu anda ne var ben farklı yöntemlerin bir çift denedi

app.controller("catBtnCtrl", function ($scope) { 
     $scope.selectRow = function (index) { 
      if (index === $scope.rowIndex) 
       $scope.rowIndex = -1; 
      else 
       $scope.rowIndex = index; 
     }; 
    }); 

, ancak boş çekiyor. Herhangi bir yardım takdir edilecektir!

cevap

1

Bu konu hakkında: Dizin denetleyici işlevini aldıktan sonra, doğru öğe ayrıntılarını arayabilirsiniz. Yoksa işleve 2 fazla değer geçmek ve

GÜNCELLEME

app.controller("catBtnCtrl", function ($scope) { 
     $scope.categoryID = null; 
     $scope.categoryName = null; 
     $scope.selectRow = function (index, id, name) { 
      if (index === $scope.rowIndex) 
       $scope.rowIndex = -1; 
      else 
       $scope.rowIndex = index; 
      $scope.categoryID = id; 
      $scope.categoryName = name; 
      // next do some functions that retrieve the data that corresponds to these parameters 
     }; 
    }); 
Ayrıca bütün öğeyi geçebilir
<ul class="nav nav-pills"> 
    <li ng-repeat="categories in model" ng-class="{'active':rowIndex == $index }" ng-click="selectRow($index, categories.catID, categories.catName)"> 
    <a href="">{{categories.catID + " " + categories.catName}}</a> 
    </li> 
</ul> 
+0

Hipotezinizin bir örneğini sunabiliyor musunuz? –

+0

Evet. Cevabımı güncelledim – dpaul1994

+0

Teşekkür ederim, bunu takdir ediyorum. JavaScript hakkında daha fazla bilgi edinmeme yardımcı olur. –

0

Kategori Seç işlev html onları gönderebilir:

<li ng-repeat="categories in model" ng-class="{'active':rowIndex == $index }" ng-click="selectRow(categories, $index)"> 
    <a href="">{{categories.catID + " " + categories.catName}}</a> 
</li> 

Ancak, bağımsız değişkenleri şu şekilde değiştirmelisiniz:

$scope.selectRow = function (category, index) {} 
+0

Yapmaya çalıştığım şeye benziyor. Ancak, JavaScript/AngularJS'deki bilgim şu anda çok küçük. Sadece bundan daha fazlası olduğunu hissediyorum. Yine de yanılıyor olabilirim! –

İlgili konular