При переключении значения атрибута, проверенного ng, привязка данных не происходит для «радио кнопки»

0

У меня есть форма, в которой у меня есть список адресов, против которых есть 2 набора радио buttons-, один из которых указывает, занят или нет адрес, а другой говорит о собственности (то есть арендуемом или принадлежащем), если адрес занят.

Первоначально, когда экран отображается, я устанавливаю значения по умолчанию, так как "N" для "Занято" и "Владение" будут отменены и отключены. Только если пользователь выбирает "Y" для "Занято", "Владение" будет включено и будет иметь значение по умолчанию "O".

Я получаю значения по умолчанию, правильно привязанные при отображении экрана.

Проблема начинается, когда я изменяю значение кнопки "Занято", и проблема связана с переключателями "Собственность". Когда значение переключателей "Владение владельцем" изменится с помощью мыши, происходит переплет данных. но когда он не выбран или выбран по выражению "ng-checked", привязка данных не происходит. Как сделать привязку данных, т.е. получить "", когда "ng-checked" = false и "O", когда ng-checked=true (выбор O выбирается по умолчанию, когда ng-checked=true).

Вот мой код

<div class="row" ng-repeat="address in addresses ">
    <label class="col-md-2 text-info">{{address.ref}}</label>
    <label class="text-info">Occupied *</label>

    <input type="radio" ng-model=" address.occupied " value="Y"/>
    <label class="text-info">Inuse</label>
    <input type="radio" ng-model=" address.occupied " value="N"/>
    <label class="text-info">Not in use</label>

    <label class="text-info"> Ownership</label>

    <input type="radio" name="{{address.ref}}ownership" ng-checked=" address.occupied == 'Y'" ng-model="address.ownership" value="R" ng-disabled=" address.occupied == 'N'"/>
    <label class="text-info">Rented</label>
    <input type="radio" name="{{address.ref}}ownership" ng-checked=" address.occupied == 'Y'" ng-model="address.ownership" value="O" ng-disabled=" address.occupied == 'N'"/>
    <label class="text-info">Owned</label>
</div>

$http.get('load').success(function(data){
$scope.addressConfiguration.addresses.push({ "ref" :"A234", "occupied": "N", "ownership":""}, {"ref": "A114", "occupied": "N", "ownership":""}, {"ref": "A278", "occupied": "N", "ownership":""}, {"ref": "A903", "occupied": "N", "ownership":""});
});

Plunker [ссылка] http://plnkr.co/edit/aUeNV4EpnaV04TlquUs?p=preview

  • 0
    Вы можете добавить плунжер с кодом. это было бы полезно
  • 0
    Возможный дубликат ng-checked = "true", игнорируемый при флажке
Показать ещё 3 комментария
Теги:

1 ответ

0
Лучший ответ

Добавление выражения в атрибут data-ng-click исправило мою проблему.

<input type="radio" ng-model=" address.occupied " value="Y" ***data-ng-click="address.occupied='Y'"***/>
<input type="radio" ng-model=" address.occupied " value="N" ***data-ng-click="address.occupied=''"***/>

Найти решение в plunker [ссылка] http://plnkr.co/edit/aUeNV4EpnaV04TlquUs?p=preview

Ещё вопросы

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