【问题标题】:How to disable checkbox if it's checked when using checklist-model?如果在使用清单模型时选中它,如何禁用复选框?
【发布时间】:2017-02-02 16:26:59
【问题描述】:

我正在使用这个checklist-model directive 循环检查复选框列表,它可以将对象保存到数据库中,并且可以检查tabs 数组中pop 对象中存在的值: 所以pop 是具有tabs 数组属性的主要对象

<md-input-container class="md-block" flex-gt-sm="25" flex="45" content-layout-align="center start" ng-repeat="tab in allTabs">
    <md-checkbox checklist-model="pop.tabs" checklist-value="tab" >
        {{tab.name}}
    </md-checkbox>
</md-input-container>

我想添加一个功能,如果一个复选框已经被选中然后禁用它,但我的尝试最终禁用了任何选中的复选框(不仅是那些已经选中的复选框)

【问题讨论】:

    标签: javascript angularjs checklist-model


    【解决方案1】:

    解决方法很简单: 在初始化函数(页面加载时调用的函数)中:

        const selectedIds = pop.tabs.map(x=>x.id);
        $scope.selectedIds = selectedIds;
    

    然后添加ng-disabled指令:

        <md-input-container ng-repeat="tab in allTabs">
                        <md-checkbox checklist-model="pop.tabs" checklist-value="tab" ng-disabled="selectedIds.includes(tab.id)">
                            {{tab.name}}
                        </md-checkbox>
                    </md-input-container>
    

    我试图在initialize 方法之外进行此操作,但新选择的ids 被添加到pop 对象的tabs 数组中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 2020-05-06
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多