独家设置Angular JS

时间:2015-06-26 05:19:12

标签: angularjs

我有复选框列表(使用ng-repeat),其中包含值所有者,经理,主管,股东,合作伙伴,公司官员。我正在创建验证规则,只允许以下组合的多选项。例如,允许所有者和主管或所有者和经理组合进行多选,因为不允许经理和主管一起选择。同样适用于其他条件。

  • 所有者/主管
  • 所有者/经理
  • 股东/主管
  • 股东/经理
  • 合伙人/主管
  • 合作伙伴/经理
  • 主任/股东
  • 主任/股东/主管
  • 主任/股东/经理

我已经尝试过 - 如果选择了所有者,我会禁用除经理和主管之外的所有其他选项。这并不适用于所有场景。

angularJS解决它的最佳方法是什么?任何帮助将不胜感激。

我没有脚本的工作副本。这是我试过的

<div class="form-group">
    <div class="col-xs-12 two-col" data-ng-class="error">
        <div class="checkbox"
             data-ng-repeat="(key, value) in types"
            <label>
                <input type="checkbox"
                       id="{{key}}"
                       name="test"
                       data-ng-click="vm.checkDisabled(vm.selected, key, vm.isDisabled, vm.validationRules)"
                       data-ng-true-value="'{{key}}'"
                       data-ng-model="vm.selected[key]"
                       data-ng-required="true">
                {{value.name}}
            </label>
        </div>
    </div>
</div>



function checkDisabled(model, key, disabledValues, validation) {
            var exclusiveset = validation[key];
            if (typeof exclusiveset != 'undefined') {
                if (model[key]) {
                    for (var key in disabledValues) {
                        if (exclusiveset.indexOf(key) > -1) {
                            disabledValues[key] = true;
                        }
                    }
                }
                else if (!isSelected(model)) {
                    for (var key in disabledValues) {
                        disabledValues[key] = false;
                    }
                }
            }
}

验证规则是一个json文件。如果选择了所有者,则除Supervisor外将禁用其他选项。     “所有者”:[“官员”,“合伙人”,“股东”],     “经理”:[“官员”,“合伙人”,“主管”],

0 个答案:

没有答案