2014-10-22 98 views
0

當我輸入一個用戶輸入文本我想AngularJS - 變換輸入值和有角度反映變化做出

  1. 移除所有的空格
  2. 化妝輸入的文本小寫
  3. 有看法改變成上述反映輸入值更改

我寫了一個小的指令來處理小寫和它看起來不錯,但就像廢話

angular.module("app").directive "toLowercase", function() 
{ 
    return { 
     require: "ngModel", 
     link: function(scope, element, attrs, ngModel) 
     { 
      ngModel.$parsers.unshift(function(viewValue) 
      { 
       var val = (viewValue || "").toLowerCase(); 
       element.val(val); 
       return val; 
      }); 
      ngModel.$formatters.unshift(function() 
      { 
       return ngModel.$modelValue.toLowerCase(); 
      }); 
     } 
    } 
} 

使用演示:http://jsfiddle.net/tr2jhb8t/ 這似乎與空白的問題,並且光標在輸入場工程時髦的(因爲我代替我估計值)。

任何人都做過這樣的事情嗎?

+0

做什麼用空白的問題?我試過 - 它工作正常。 – 2014-10-22 09:18:39

+0

輸入大寫字母后立即按空格似乎根本不起作用,但如果您沒有遇到它,則可能是本地問題。 – Rasmus 2014-10-22 09:22:17

+0

如果你只是在ng-keyup上觸發一個$ scope函數並且當它們的鍵不是空格鍵時返回事件並且如果需要的話將字符改爲小寫的話會不會更簡單? – enguerranws 2014-10-22 09:47:48

回答