angularjs - 如何在 AngularJS/Bootstrap3 中禁用基于复选框的内容

标签 angularjs twitter-bootstrap-3

我正在创建一个表单,用户可以在其中配置重复事件,因此有大量控件。顶部是一个用于启用/禁用计划的复选框。

如何禁用但不隐藏基于复选框的整个部分?如果选中,用户应该能够对时间表进行修改。如果未选中,则不允许进行任何更改。

我相当确定我可以在每个控件上使用 ng-disabled 指令,但我想在整个容器上设置一些属性/类,而不是在每个单独的控件上。

我正在使用 Bootstrap 3,因此如果有一个类可以提供此功能,那也是一个可接受的解决方案。

以下是 HTML 的相关部分:

<input type="checkbox" ng-model="status" title="Enable/Disable Schedule" /> <b>Schedule the task to run:</b>
<div class="row"> <!-- need a way to disable this row based on the checkbox -->
    <span>Every <input type="number" ng-model="interval" /> 
         <select ng-model="frequency" 
                 ng-options="freq as freq.name for freq in frequencies"></select>
    </span> 
    <div>
        On these days:
    </div>
    <div class="btn-group" data-toggle="buttons-checkbox">
        <button type="button" 
                class="btn" 
                ng-model="day.value" 
                ng-repeat="day in days">{{day.name}}</button>
    </div>
</div>

我已经尝试过:

<div class="row" ng-disabled="!status">

它不起作用,并且根据文档,它看起来根本不应该起作用,因为它的预期用途是禁用表单控件。我也尝试过不使用 !,只是为了验证它也不起作用。

最佳答案

好的,我找到了一种适合我的目的的技术......

<div class="row" ng-class="{disabled: !status}"> <!-- added ng-class here -->

.disabled {
    z-index: 1000;
    background-color: lightgrey;
    opacity: 0.6;
    pointer-events: none;
}

这可以防止页面上的点击,并提供“禁用”部分的良好视觉指示。 它不会阻止我通过选项卡浏览控件,但它可以满足我的目的。

关于angularjs - 如何在 AngularJS/Bootstrap3 中禁用基于复选框的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21317873/

相关文章:

android - 应用 Bootstrap 时,选择下拉菜单在移动设备中不起作用

angularjs - AngularJs超时,响应时间长

css - 如何在两个不同的列中安排 Bootstrap 中的井?

html - 尝试使用angularjs加载视频时出错

css - Bootstrap 3 导航栏中的灵活宽度输入字段

css - 可以使 "text-overflow: ellipsis"在 Bootstrap 3 导航栏的 "navbar-brand"文本上工作吗?

angularjs - 如何使用 AngularJS 对结果进行分页但在完整列表中进行过滤?

javascript - 无法从 angularjs 调用 JavaScript 原型(prototype)函数

css - Bootstrap 3 Accordion 雪佛龙问题

css - 如何删除引导列表组中的列表项边框?