У меня есть форма, в которой у меня есть список адресов, против которых есть 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
Добавление выражения в атрибут 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