2016-04-28 15 views
4

で条件に基づいてdivの私は繰り返し、n回NGリピートを抱えている。..はNGリピート

HTMLを無効にします関数onWebSocketFired()がのlockResourceIdで起動され、それがのitem.activityIdと等しい場合は、のdiv無効になります。 これは、各onWebSocketFired()コールでng-repeat内の1つのdivで発生します。しかし、以前に無効になっていたフィールドをそのまま保持したいときは、他の呼び出しが呼び出されない限り保持します。 誰かが修正を提案できますか?

+1

ない、私は問題を抱えて確認してください、あなたは右、値を初期化するために、 '='ではなく '=='のを使用していますか? – Naigel

+0

'item.activityId == lockResourceId'を試してください – Mourndark

+0

これは、lockResourceIdとitem.activityIdに基づいて現在のdivを無効にします。以前のlockResourceIdからの無効なdivを保持します。 – forgottofly

答えて

2

無効になっているフィールドセットを無効にしたままにしておきたい場合は、lockResourceIdを配列またはオブジェクトの形式で保存します。

<div ng-repeat="item in items"> 
    <fieldset ng-disabled="lockResourceId[item.activityId]"> 
    <div>Hello {{ item.activityId }}</div> 
    <input type="checkbox"> 
    </fieldset> 
</div> 

は次にコントローラであなたはこのようにそれを使用します。

$scope.lockResourceId = {}; 

// Lock some id 
$scope.lockResourceId[id] = isLock;