我想通过AngularJS设置输入的最大长度,当用户达到最大字符时,不应该在输入中添加新字符。
我输入的ng-model是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 :(得分:0)
<input type="text" data-ng-model="selecteddata.Type.Value" data-ng-maxlength="selecteddata.Type.MaxLength" />
附加所有角度指令。
答案 1 :(得分:0)
您可以使用AngularJS默认属性ng-maxlength
<input type="text" ng-model="model" id="input" name="input" ng-maxlength="maxlength" />
试试这个PLNKR: https://plnkr.co/edit/6ztQAixx9KkHBO4a3qD3?p=preview
答案 2 :(得分: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
}
}
}