首页 文章

每次按下按钮时,ng-disabled都不会评估

提问于
浏览
0

我实际上是想在我的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 回答

  • 0

    我认为OR的逻辑导致了这个问题 .

    ng-disabled =“campaign.editnotscheduled || ischallengeTrigger”选中> ng-disabled =“editnotscheduled || ischallengeTrigger”>

    如果其中任何一个是假的,那么你的按钮应该被禁用 .

相关问题