2015-10-14 88 views
2

我正在使用包含Ionic的Angular.Js。我有一個 輸入字段,其類型爲TEXT,其中包含最大長度爲 的16位數字。如何在TEXT字段中顯示4位數字

現在我想顯示字段值的最後4位數和其他 數字應該被屏蔽。

所以任何人都可以請建議我任何方法來實現。

回答

1

爲了讓您一開始:首先textarea的值綁定到範圍變量和函數添加了NG-變化:

<textarea ng-model="model.myText" ng-change="maskValue()"></textarea> 

然後在你的控制器做這樣的事情:

$scope.maskValue = function(){ 
    $scope.model.myText = "xxxxxxxxxxxxxxxx" + $scope.model.myText.substring(16, 20) 
} 

maskValue()每當Textarea的內容發生變化時都會被調用。這當然不是「按原樣」工作,但它應該顯示正確的方向。

+0

我有信用卡號碼輸入時,我覺得卡號我想顯示字段的最後4位數字和其他數字應該被掩蓋。你有更多的想法。 @Andre Kreienbring –

0

使用自定義指令來篩選change事件上的輸入。

.directive("test", function() { 
    return { 
     require: "?ngModel", 
     scope: { 
      ngModel: '=' 
     }, 
     link: function(scope, elem, attrs, ngModel) { 
      elem.bind('change', function() { 
       console.log(ngModel); 
       ngModel.$setViewValue(scope.ngModel.substring(scope.ngModel.length - 4, scope.ngModel.length)); 
       ngModel.$render(); 
      }); 
     }, 
     replace: true 
    } 
}); 

使用範圍是不是一個好主意。它不提供可重複使用的模塊模式,也有性能問題。

相關問題