2014-09-29 39 views
1

我有一個api一個返回診所列表,另一個是onclcik採取診所id並調用api並在手風琴表中顯示該特定id的數據。Onclcik ng-show使用angularJS和Ionic不能以手風琴顯示數據?

但是通過使用ng-show,我無法顯示數據。

這裏是我的代碼:

HTML代碼:

<ion-list id = "background"> 
     <div id = "background" > 
      <ion-item class="item-stable item item-avatar" ng-click = "select(list.ClinicId);" ng-repeat="list in searchlist"> 
      <img ng-src = "img/1.png"/> 
      <!-- &nbsp; --> 
      {{list.Name}} 
      &nbsp; 
      <p> Address: {{list.Address.Address1}}, {{list.Address.Address2}}, {{list.Address.Postcode}}, {{list.Address.State}}, {{list.Address.Suburb}}</p> 
      </ion-item > 
      <ion-item class="item-accordion" ng-show="isSelected();" ng-repeat="available in appointments" > 
       {{available.Appointments.Name}} {{available.Appointments.Speciality}} 
      </ion-item> 
     </div> 
     </ion-list> 

JavaScript代碼:

$scope.select = function(item) { 
      api.AvailableAppointments(item) 
       .success(function(data) { 
       $scope.availableappointments = data; 
       console.log(data); 
       window.sessionStorage['availableappointments'] = angular.toJson(data); 
       var appointments = window.sessionStorage['availableappointments']; 
      }) 
      .error(function(data) { 
       console.log(data); 
      }); 
       }; 
    $scope.isSelected = function() { 
     var appointments = window.sessionStorage['availableappointments']; 
     $scope.appointments = angular.fromJson(accessData); 
     console.log($scope.appointments); 
    }; 

,請告訴我,我錯了.... enter image description here

+0

'list.ClinicId'是否與已選擇的ID相對應? – rllola 2014-09-29 08:37:53

+0

是的,我從一個api響應採取此ID,我必須將此ID傳遞到另一個API作爲URL,並採取相應的數據對應的ID和手風琴顯示 – 2014-09-29 08:40:11

+0

顯示列表中,我已上傳的圖像是「 ng-repeat =「list in searchlist」「by this and from this response我正在接受特定診所的ID和onclick我在這個函數中傳遞了id」ng-click =「select(list.ClinicId);」「和我得到的迴應,但我不能以手風琴顯示 – 2014-09-29 08:53:29

回答

0

這將是一個偉大的文件加入到你的問題,但我可能會知道爲什麼它不起作用。

你的​​函數沒有返回任何可能的原因,它不會改變。 嘗試添加$ index作爲您的函數的參數,並將其與活動的clinicID(已被點擊的)進行比較,然後返回答案。

的.html

 <ion-item class="item-accordion" ng-show="isSelected($index);" ng-repeat="available in appointments" > 
      {{available.Appointments.Name}} {{available.Appointments.Speciality}} 
     </ion-item> 

的.js

$scope.isSelected = function(itemIndex) { 
     var appointments = window.sessionStorage['availableappointments']; 
     $scope.appointments = angular.fromJson(accessData); 
     console.log($scope.appointments); 
     return (itemIndex == itemSelectionnedIndex); 
    }; 

如果如果ng-show嘗試ng-if

編輯它不起作用: 我嘗試ADAP t你的代碼在你給我的例子上: http://codepen.io/anon/pen/wdjAn

你只需要調整代碼來隱藏第二個手風琴,當你第二次點擊。 但它應該工作... 而你的主要問題(從我在你的代碼中看到的)是你isSelected沒有返回並且你的約會變量不是一個列表。

希望它能解決您的問題。

+0

Prolem是從這個函數「ng-click =」選擇(list.ClinicId)的這個響應;「」,clinicid不存在,所以我不能匹配ID與這個迴應「$ scope.appointments」 – 2014-09-29 08:57:55

+0

我可以看到你的JSON數據的例子嗎?這將有助於理解。 – rllola 2014-09-29 09:00:51

+0

您也可以創建一個$ scope.active以保持活動索引,然後將其與該項目的索引進行匹配。 – rllola 2014-09-29 09:06:08