Здесь мне нравится объяснять мою проблему.
У меня есть список флажков, отображаемых с помощью ng-repeat, если я проверил определенный флажок, он должен отключить другой флажок.
<label ng-repeat="specific in specifications">
<input id="specifications_chk" value="{{specific}}" ng-model="newObject[specific]" type="checkbox">
{{specific}}
</label>
значение флажка получает из json файла.
Здесь, если я проверяю IndepthHomeCleaning,
мне нужно отключить других. это оно
Here is the solution to your problem
Есть много способов сделать это, некоторые лучше, чем другие, но используя то, что вы предоставили, это может помочь:
<label ng-repeat="specific in specifications">
<input id="specifications_chk" value="{{specific}}" ng-model="newObject[specific]" type="checkbox" ng-disable="newObject.IndepthHomeCleaning">
{{specific}}
</label>
Конечно, это не динамично. Однако, если вам это нужно, чтобы всегда быть первой спецификацией, вы можете использовать это выражение вместо ng-disabled
:
ng-disable="newObject[specifications[0]]"
Вот пример JS Fiddle, который отключает все, кроме первого флажка, если установлен первый флажок:
https://jsfiddle.net/mLj5Lpwz/
Надеюсь, это поможет.
ОБНОВИТЬ
Основываясь на ваших комментариях, похоже, что это должно быть более динамичным. Вам нужно будет захватить эти данные где-нибудь в ваших объектах.
Я создал другой пример, который имеет $scope.specifications
как массив объектов. Объекты включают свойство ExcludedBy
которое имеет другую спецификацию, которая приведет к отключению этой спецификации.
Это трудно объяснить, но я надеюсь, что этот обновленный пример поможет вам в достижении того, что вам нужно: