2

這裏是我的表Angularjs:改變表格單元格的值,當用戶點擊進入

<tr ng-repeat="list in results"> 
    <td>{{list.name}}</td> 
    <td>{{list.id}}</td> 
    <td ng-model="phone" contenteditable on-keydown="myFunction(results)" keys="[13]"> 
    {{list.phone}} 
    </td> 

用戶可以編輯電話號碼,然後回車。如何將list.phone的值更新爲新輸入的值? 因此,例如,最初的結果是類似下面

[name:John, id:123, phone:123456],[].... 

但是當用戶輸入7890123 那麼新的結果看起來像這樣

[name:John, id:123, phone:7890123],[]... 

我怎樣才能做到這一點?這裏是我的指令

編輯:

angular.module('myApp').directive('onKeydown', function() { 
      return function(scope, elm, attrs) { 
       function applyKeydown() { 
        scope.$apply(attrs.onKeydown); 
       };   
       var allowedKeys = scope.$eval(attrs.keys); 
       elm.bind('keydown', function(evt) { 
        if (!allowedKeys || allowedKeys.length == 0) { 
         applyKeydown(); 
        } else { 
         angular.forEach(allowedKeys, function(key) { 
          if (key == evt.which) { 
           applyKeydown(); 
          } 
         }); 
        } 
       }); 
      }; 
     }); 
    }); 

回答

0

而不是將數據直接掛鉤的形式,嘗試將數據放入編輯模式,然後在方法調用後應用它。

下面是一個例子,並非針對您的案例,但您可以將此方法應用於您的用例。 Example on Plnkr

+0

謝謝。但問題是,我怎麼能在我的指令中調用$ scope ...?我不知道該怎麼做?我添加了我的指令 – Sara

相關問題