2016-03-29 48 views
0

我有一個由'catID'和'catName'組成的Json字符串。到目前爲止,我已經設法創建了一個按鈕列表,標有每個類別。當用戶點擊與類別關聯的按鈕時,我一直試圖返回catID。它現在返回$ index,這很好,但理想情況下,catID可以讓我將信息傳遞到我的編碼的下一個階段。我需要$索引來激活正確的按鈕。需要從ng-repeat按鈕列表中返回一個變量

這是我的時刻:

<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> 

我的角度控制器:

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

我已經嘗試了幾種不同的方法,但都是一片空白。任何幫助,將不勝感激!

回答

1

這是怎麼回事: 當你獲得控制器功能的索引後,你可以搜索正確的項目細節。 或者你也可以通過2個值的功能和HTML給他們

UPDATE

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 
     }; 
    }); 
選擇類別
<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

你能提供一個你的假設的例子嗎? –

+0

是的。我已經更新了我的回答 – dpaul1994

+0

謝謝,我真的很感激。也幫助我更多地瞭解JavaScript。 –

0

您也可以通過整個項目能:

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

但是你需要改變這樣的參數:

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

這看起來像我想要做的。然而,我目前在JavaScript/AngularJS方面的知識非常少。我覺得除此之外還有更多。雖然我可能是錯的! –