2013-04-30 3 views
6

特定のクラス(たとえば.ng-invalid)で更新される要素を監視する必要があるディレクティブを作成しています。ご存知のように、無効なフォーム要素には.ng-invalidが追加されています。

クラスが追加または削除されたかどうかを判断するには、これらの要素を監視する必要があります。

どうすればこの問題を解決できますか?あなたの目的は、FormController$invalid属性を監視するために、事前

+0

あなたのコードをフィドルまたはプランナーのデモと共有することができます –

+0

私の要件のためのダミーフィドルです。 http://jsfiddle.net/aW7FD/ – Abilash

答えて

5

あなたは$(".ng-invalid")の長さ取得する機能を見ることができ$:

scope.$watch(function() { 
    return $(".ng-invalid").length; 
}, function (newVal, oldVal) { 
    if(newVal !== oldVal) { 
     console.log('changed!', newVal, oldVal); 
     // do your changes here 
    } 
}) 

Fiddleを。フィドルでは、最初にinputng-minlength="2"を追加しました。そのフィールドに2文字を入力して、$ watchトリガーを表示します。

1

おかげで、それは十分だろうか?これは、例えば、フォームの全体的な無効状態への変更を通知します:

// Somewhere in your directive; formCtrl is the FormController 
scope.$watch(function() { 
    return formCtrl.$invalid; 
}, function(isInvalid, wasInvalid) { 
    // ... 
}); 
+0

これは私の要求には十分ではありません:-( – Abilash

関連する問題