2016-08-10 18 views
5

Mam dwa pola wprowadzania, jak pokazano poniżej na rysunku.Automatyczne ustawianie ostrości w wyłączonym polu, które będzie włączone po spełnieniu określonych warunków.

Two Input Fields

Próbuję skupić się na następnym polu, które jest teraz wyłączone, ale po wejściu w maxLength znaków w pierwszym polu byłoby uzyskać włączona. I chcę kursor tam na następnym polu automatycznie po włączeniu.

Kod używam jest podany poniżej:

.directive('moveNext', function(){ 
return{ 
    restrict: 'A', 
    link: function($scope, element){ 
     element.on("input", function(e){ 
      if((element.val().length==element.attr("maxlength"))){ 
       console.log('asdfasdf'); 
       var tabindex = 1; 
       var $nextelement = $('input[tabindex='+(tabindex+1)+']'); 
       console.log($nextelement); 
       if($nextelement){ 
        console.log('asdf'); 
        $nextelement.focus(); 
       } 
      } 
     }); 
    } 
} 
}); 

Odpowiedz

5

Staraj się nie używając ng-wyłączony zamiast używać wyłączoną właściwość javascript.

document.getElementById("myText").disabled = true; 

A potem pod dyrektywy zrobić powyżej fałszywe pierwszy i przenieść nacisk na następnego elementu jak poniżej:

document.getElementById("myText").disabled = false; 
$nextelement.focus(); 

CASE ostrości nazywany jest coraz pierwszy po strawić cyklu przed polem zostanie włączona .

+1

Dzięki temu użyłem tego samego sposobu i zadziałało to dla mnie. –

Powiązane problemy