2016-06-07 80 views
0

我想通過AngularJS設置輸入的最大長度,並且當用戶達到最大字符數時,不應將新字符添加到輸入。使用AngularJS設置html5輸入最大長度屬性

我有一個輸入其中的NG-模型selecteddata.Type.Value

最大字符值存儲在selecteddata.Type.MaxLength

我已經添加了HTML5 maxlength屬性如下:

<input type="text" ng-model="selecteddata.Type.Value" maxlength="{{selecteddata.Type.MaxLength}}" /> 

該作品正如我想要的那樣,當用戶達到最大字符數時不可能添加新的字符串,但它不會設置selecteddata.Type.Value ..

這爲什麼不工作?有沒有AngularJS這樣做的方式?我已閱讀ngMaxlength,但它不符合我的要求。我是否需要編寫自定義指令來完成這項工作? 有什麼建議嗎?

+0

指令HTTP: //stackoverflow.com/questions/17075969/ng-maxlength-screws-up-my-model –

+0

ngMaxlength https://docs.angularjs.org/api/ng/dir ective/ngMaxlength –

+0

你的例子似乎在自己的小提琴中起作用。 https://jsfiddle.net/U3pVM/25383/,你能讓我們知道你如何檢查selecteddata.Type.Value是否設置? – Don

回答

0

對我的版本的小提琴:那做https://jsfiddle.net/U3pVM/25383/

<div ng-app> 
     <div ng-controller="TodoCtrl"> 
     <input type="text" ng-model="selecteddata.Type.Value" maxlength="{{selecteddata.Type.MaxLength}}" /> 

     selecteddata.Type.Value-{{selecteddata.Type.Value}} 
     </div> 
    </div> 

function TodoCtrl($scope) { 
    $scope.selecteddata={ 
    'Type':{ 
     'MaxLength':5 
    } 
    } 
} 
0
<input type="text" data-ng-model="selecteddata.Type.Value" data-ng-maxlength="selecteddata.Type.MaxLength" /> 

附加到所有角度指令。

+0

我知道,正如我在問題中所寫的那樣,ngMaxLength存在但它不像我想要的那樣行爲。我想在達到ngMaxLength所不能達到的最大值時阻止字符 –

相關問題