Я написал специальную директиву для проверки полей формы. Когда выполняются определенные критерии (т. Е. Он грязный и действительный), я хочу автоматически настроить фокус на следующий элемент ввода. Это требование от моих пользователей, так что они могут наиболее эффективно перемещаться по формам.AngularJS: переход к следующему элементу ввода после успешной проверки
Упрощенная директива выглядит следующим образом:
directive('custom', ['$parse', function($parse) {
return {
restrict: 'A',
require: ['ngModel', '^ngController'],
link: function(scope, element, attrs, ctrls) {
var model=ctrls[0], form=ctrls[1];
scope.next = function(){
return model.$valid
}
scope.$watch(scope.next, function(newValue, oldValue){
if (newValue && model.$dirty){
???
}
})
Теперь мой вопрос: как я могу определить - следующий входной элемент (который является следующим родственным) или, возможно, через TabIndex - и сосредоточиться на это без использования JQuery?
Для меня в настоящее время неясно, как перейти к следующему элементу ввода из доступных атрибутов «scope» или «element» без Jquery; и JQlite не имеет метода «фокуса». В принципе, мне нужна рабочая замена ??? в моем коде.
Любая помощь очень ценится. Благодаря Юргена
Может быть, следующее может быть полезным: http://stackoverflow.com/questions/18086865/angularjs-move-focus-to-next-control-on-enter –