2017-12-28 13 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 장애인 "campaign.editnotscheduled || ischallengeTrigger는"확인> NG 장애인 = "editnotscheduled || ischallengeTrigger">

둘 중 하나를 사용할 수 있어야 당신의 버튼을 false.then됩니다.

+0

그것은 OR 조건입니다. 여기서 변수 중 하나라도 참이면 조건은 참으로 평가됩니다. 내 경우에는 ischallengeTrigger가 true입니다. 따라서이 조건은 항상 true로 평가되고 결과적으로 라디오 버튼은 비활성화되어야합니다. 응답 해 주셔서 감사합니다. 나는 당신이 AND OR 조건 진리표와 OR 조건을 혼동 한 것으로 생각합니다. –