Я хочу установить максимальную длину ввода через AngularJS, и когда пользователь достиг максимальных символов, тогда никакие новые символы не должны быть добавлены на вход.
У меня есть вход, который selecteddata.Type.Value
ng- selecteddata.Type.Value
Максимальное значение символа сохраняется в selecteddata.Type.MaxLength
Я добавил атрибут html5 maxlength, как показано ниже:
<input type="text" ng-model="selecteddata.Type.Value" maxlength="{{selecteddata.Type.MaxLength}}" />
Это работает так, как я хочу, когда пользователь достигает максимальных символов, невозможно добавить новое, но не устанавливает выбранный файл.Type.Value..
Почему это не работает? Есть ли способ AngularJS сделать это? Я читал о ngMaxlength, но он не ведет себя так, как я хочу. Нужно ли мне написать специальную директиву для выполнения этой работы? Какие-либо предложения?
Скрипка для моей версии: 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
}
}
}
<input type="text" data-ng-model="selecteddata.Type.Value" data-ng-maxlength="selecteddata.Type.MaxLength" />
Приложите ng- ко всем угловым директивам.
вы можете использовать атрибут по умолчанию AngularJS, ng-maxlength
<input type="text" ng-model="model" id="input" name="input" ng-maxlength="maxlength" />
Попробуйте этот PLNKR: https://plnkr.co/edit/6ztQAixx9KkHBO4a3qD3?p=preview