angularjs отключает другие флажки, если в ng-repeat установлен соответствующий флажок

0

Здесь мне нравится объяснять мою проблему.

У меня есть список флажков, отображаемых с помощью ng-repeat, если я проверил определенный флажок, он должен отключить другой флажок.

<label ng-repeat="specific in specifications">
       <input id="specifications_chk" value="{{specific}}" ng-model="newObject[specific]" type="checkbox">
       {{specific}}
</label>

значение флажка получает из json файла.

Изображение 174551

Здесь, если я проверяю IndepthHomeCleaning, мне нужно отключить других. это оно

Теги:
checkbox

2 ответа

0
Here is the solution to your problem

https://jsfiddle.net/anshulbisht06/mLj5Lpwz/2/

0

Есть много способов сделать это, некоторые лучше, чем другие, но используя то, что вы предоставили, это может помочь:

<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 которое имеет другую спецификацию, которая приведет к отключению этой спецификации.

Это трудно объяснить, но я надеюсь, что этот обновленный пример поможет вам в достижении того, что вам нужно:

https://jsfiddle.net/mLj5Lpwz/3/

  • 0
    Нет .. спецификация, которую мы получаем здесь, основана на сервисе, который мы меняем, эта спецификация распространяется на услугу «Уборка дома», что если сервис является столярным, поэтому мы не можем отключить спецификации [0]. я надеюсь, что вы понимаете @anierzad
  • 0
    @Nodemon Я думаю, я понимаю, что вам нужно, и я обновил свой ответ некоторыми дополнительными пояснениями и дополнительным примером.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню