javascript - ng-disabled 每次单击按钮时都不会评估

标签 javascript html css angularjs

我实际上是在尝试通过单击我的 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 中评估的表达式的值。每次单击此按钮时,该值都会变为真(因为我已经编写了 js 代码隐藏来实现这一点)。即使 ng-disabled 表达式的值为真,单选按钮也不会被禁用。

在调试时,我发现了一个无法正常工作的特定场景。单击应用程序中的特定下拉列表后,如果我返回并单击编辑按钮以检查这些单选按钮是否被禁用。那时,即使 ng-disabled 表达式值为真,单选按钮也不会被禁用。

最佳答案

我认为 OR 的逻辑导致了问题。

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

如果其中任何一个为假,那么您的按钮应该被禁用。

关于javascript - ng-disabled 每次单击按钮时都不会评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48002842/

相关文章:

html - 不知道如何做到这一点。4 个文本部分均匀分布在页面上?

css - 使用 FXML/CSS 更改 JavaFX 中 Menu 控件的文本颜色

javascript - 如何将线条和文本作为标签添加到 D3 中的矩形?

javascript - 使用 nodemailer 从本地主机发送的电子邮件未送达

html - 在导航中突出显示事件选项卡

javascript - 检测手机浏览器是否支持溢出 :scroll

html - 在悬停子元素时隐藏/显示正文中的文本

javascript - 嵌入式 Flash 在移动设备上不起作用

javascript - 计算康威常数

javascript - 表格单元格中的工具提示定位