2017-12-28 29 views
0

実際には、私のangularjsアプリケーションのボタンをクリックすると、一対のラジオボタンを無効にしようとしています。ラジオボタンのボタンをクリックしたときにいつもng-disabledが評価されない

コードスニペットは、ここの下に設けられている。

<div class="col-xs-4 btn-group" id="challenge-radio-btn"> 
    <label class="radio-inline"> 
     <input type="radio" ng-model="trigger" ng-value=false 
       name="{{path.id}} notChallengeTriggr" 
       ng-change = "onChange(x,y,z,w,a)" 
       ng-disabled="campaign.editnotscheduled || ischallengeTrigger" 
       checked> No 
    </label> 
    <label class="radio-inline"> 
     <input type="radio" ng-model="trigger" ng-value=true 
       name="{{path.id}} challengeTriggr" 
       ng-change = "onChange(x,y,z,w,a)" 
       ng-disabled="campaign.editnotscheduled || ischallengeTrigger"> Yes 
    </label> 
</div> 

は、ボタンのクリックで、私もNG-無効の内側に評価取得された式の値を印刷しようとしています。このボタンをクリックするたびに、値がtrueになります(これを真とするためにjsコードビハインドを書いています)。 ng-disabled式の値がtrueの場合でも、ラジオボタンは無効になっていません。

デバッグでは、動作していない特定のシナリオが見つかりました。アプリケーションの特定のドロップダウンをクリックすると、そのあとで&に戻ると、編集ボタンをクリックして、これらのラジオボタンが無効かどうかをチェックします。この時点では、ng-disabled式の値がtrueであっても、ラジオボタンは無効になりません。

+0

'ng-disabled =" editnotscheduled'は 'ng-disabled =" campaign.editnotscheduled'にしないでください。 – Rajesh

+0

私の悪いです。入力ミス。編集が必要になりました。提案していただきありがとうございます。 –

答えて

0

ORの論理が問題を引き起こしていると思います。 > NG-無効= "editnotscheduled || ischallengeTrigger" にチェック

NG-無効= "campaign.editnotscheduled || ischallengeTrigger">

それらのいずれかは、あなたのボタンが無効になってもらう必要がありますfalse.thenされた場合。

+0

これはOR条件です。ここで、変数のいずれかが真であれば、条件は真と評価されます。私の場合、 'ischallengeTrigger'は真です。したがって、この条件は常にtrueと評価され、最終的にラジオボタンは無効にする必要があります。 お返事ありがとうございます。あなたは私のOR条件をAND条件真理値表と混同していると思います。 –