我有复选框列表(使用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外将禁用其他选项。 “所有者”:[“官员”,“合伙人”,“股东”], “经理”:[“官员”,“合伙人”,“主管”],