1

我的第一個ng-repeat在一些數據上循環,另一個ng-repeat在其他數據上循環。我在內部的ng-repeat中添加了ng-change,它在一些數據上循環以使用「options/values」填充select元素,ng-change必須監聽select元素中的更改,並在每次值被更改時調用函數,但是沒有發生。在另一個ng-repeat中更新一個模型

下面是HTML代碼

    <tr ng-repeat="memo in memos" class="no-animate"> 
         <td class="text-center">{{memo.memoStatus | localize:'ar'}}</td> 
         <td class="text-center"> 
          {{memo.memoRequiredDate | date: 'yyyy-MM-dd'}} 
          <p ng-hide="memo.memoRequiredDate">----</p> 
         </td> 
         <td class="text-center"> 
          <select ng-model="newInfo.selectedConsultantIndex" ng-change="updateConsultant(memo.caseId, newInfo.selectedConsultantIndex)" class="form-control"> 
           <option value="">-- المستشارين --</option> 
           <option ng-repeat="consultant in consultants track by $index" value="{{$index}}">{{consultant.firstName}} {{consultant.lastName}}</option> 
          </select> 
         </td> 
         <td class="text-center">{{memo.court[0].name}}</td> 
         <td class="text-center"> 
          <p ng-repeat="defendant in memo.defendant"> 
           {{defendant.user.firstName}} {{defendant.user.lastName}} - {{defendant.role[defendant.role.length - 1]}} 
          </p> 
         </td> 
         <td class="text-center"> 
          <p ng-repeat="client in memo.client"> 
           {{client.user.firstName}} {{client.user.lastName}} - {{client.role[client.role.length - 1]}} 
          </p> 
         </td> 
         <td class="text-center">إختبارية</td> 
         <td class="text-center">{{memo.caseNumber}}</td> 
        </tr> 

這裏是JS代碼

$scope.updateConsultant = function(){ 
    console.log('hello world'); 
} 
+0

你能否提供jsfiddle或plunker? –

+0

看起來對我來說很好 – TomSlick

回答

1

問題原來是由另一個指令「angular-print printTable」造成的,該指令創建一個只有文本值的新表,然後覆蓋舊錶。

0

嘗試使用守望者而不是ng-change

$scope.$watch('newInfo.selectedConsultantIndex', function() { 
     updateConsultant(...) 
    }); 

您可能必須構建一個數組或其他數據結構來支持您正在使用的變更邏輯。

+0

嘗試過它,我試過$父但沒有任何工作 – munzx

+0

看看是否有幫助:http://plnkr.co/edit/sY0nk49JKb7ZkhSSHCsa – seminull

相關問題