我实际上是想在我的angularjs应用程序中单击按钮时禁用一对单选按钮 .
下面提供了单选按钮的代码片段:
<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-disabled内部进行评估的表达式的值 . 每次单击此按钮,该值都变为true(因为我已经编写了js代码隐藏以使其成立) . 即使ng-disabled表达式的值为true,单选按钮也不会被禁用 .
在调试时,我发现了一个不起作用的特定场景 . 一旦我点击我的应用程序中的特定下拉列表,之后如果我回来并单击编辑按钮以检查这些单选按钮是否被禁用 . 此时,即使禁用ng-expression表达式值为true,也不会禁用单选按钮 .
1 回答
我认为OR的逻辑导致了这个问题 .
ng-disabled =“campaign.editnotscheduled || ischallengeTrigger”选中> ng-disabled =“editnotscheduled || ischallengeTrigger”>
如果其中任何一个是假的,那么你的按钮应该被禁用 .