2016-12-07 5 views
0

Ich kann ID nicht aufrufen, wenn das Skript in der ng-Ansicht ist. und wie wenig eingang in die Dose in der gegebenen Funktion?Angularjs und jQuery-Funktion

$(document).ready(function() { 
 
    $('input').blur(function() { 
 
    if ($(this).val()) { 
 
     $(this).addClass('used'); 
 
    } else { 
 
     $(this).removeClass('used'); 
 
     $(this).addClass('noused'); 
 
    } 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<body ng-app="myApp"> 
 
    <div class="container-fluid"> 
 
    <div class="row"> 
 
     <div class="col-md-12"> 
 
     <div ng-view>//here there is a form input</div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</body>

Funktion für die Eingabe wird nicht ausgeführt. aber wenn es keine Route verwendet, die in der ng-Ansicht ist. Die Eingabefunktion kann ausgeführt werden. bitte, eine Lösung geben, die noch diese Funktionen

+0

Haben Sie versucht, '$ postLink' im myAppController zu verwenden? $ postLink wird ausgelöst, wenn das gesamte dom auf der Seite gerendert wird. In dieser Funktion können Sie also das Element anhand seiner ID nachschlagen. –

+0

Warum verwenden Sie nicht einfach die integrierte Formularvalidierungsfunktion? –

+0

Ich will Wirkung zu animieren, Überprüfung Validierung –

Antwort

0

Der Blick durch die Zeit konstruiert werden document.ready() genannt wird, so kann es nicht finden die input befestigen das blur Ereignis kann nicht verwendet werden können.

Stattdessen können Sie ngBlur auf dem input Element selbst verwenden, um Ihre Funktion aufzurufen. Etwas wie:

<input type="text" ng-blur="doSomething(this)"> 

<script> 
function doSomething(me) { 
    if ($(me).val()) { 
     $(me).removeClass('notused').addClass('used'); 
    } else { 
     $(me).removeClass('used').addClass('notused'); 
    } 
} 
</script> 
+0

Ich habe versucht, mit Ihrem Skript, aber die Funktion - >> wenn ($ (this) .val()) {-> nicht ausgeführt werden, nichts passiert –

+0

Ich habe einen Fehler gemacht in dem Code, den ich korrigiert habe –

+0

Ich versuche, und Erscheinen Fehler: e.nodeName ist undefiniert? auf der Konsole log, und ist nicht auf die Eingabe –