Как да използвате ng-model и ng-checked заедно за радио бутони, вътре в ng-repeat

Опитвам се да извлека данни за ролите (JSON) от url и използвам ng-repeat, за да ги присвоя на радио бутони (показва списък с роли) и да ги покажа в MODAL. Всяка една опция трябва да бъде избрана за ролята, присвоена в момента на потребителя.

Когато потребител промени селекцията и щракне върху OK, избраната стойност трябва да бъде присвоена на обект, който допълнително се предава на URL адрес за актуализиране на ролята на потребителя.

Ако използвам,

<div ng-repeat="item in roleDataList">
        <input type="radio"  ng-model="item"  ng-checked="item.RoleId==assignedRoleId?true:null" name="RoleRadioButton" ng-value="item"  />                   
        <span>{{item.RoleName}}</span>
</div>

след това показва вече присвоените данни по подразбиране, но нямам достъп до избраните данни,

Ако използвам,

<div ng-repeat="item in roleDataList">
        <input type="radio"  ng-model="$parent.parentRoleId"  ng-checked="item.RoleId==assignedRoleId?true:null" name="RoleRadioButton" ng-value="item"  />                   
       <span>{{item.RoleName}}</span>
</div>

тогава избраната роля е налична в $parent.parentRoleId, но стойността по подразбиране не е избрана.

Някаква помощ, където и двете могат да бъдат постигнати?


person Amit Kumar    schedule 29.06.2015    source източник


Отговори (1)


Проверете тази цигулка почти това, което искате според мен

Fiddle

<div ng-controller="Ctrl">
<span ng-repeat="category in categories">
  <label class="checkbox" for="{{category.id}}">
    <input type="checkbox" ng-model="selection.ids[category.id]" name="group" id="{{category.id}}" />
    {{category.name}}
  </label>
</span>
<pre ng-bind="selection.ids | json"></pre>    

function Ctrl($scope) {

$scope.selection = {
    ids: {"50d5ad": true}
};

$scope.categories = [ { "name": "Sport", "id": "50d5ad" } , {"name": "General", "id": "678ffr" } ];

}

person stackg91    schedule 29.06.2015
comment
1) Моят тип вход е радио. 2) roleDataList ще има стойности като ‹RolesModel›‹RoleCreatedBy›1‹/RoleCreatedBy›‹RoleCreatedDate›2015-06-12T14:17:03.527‹/RoleCreatedDate›‹RoleCreatedUserName i:nil=true/›‹RoleDescriptionAss служител на компанията ‹/RoleDescription›‹RoleId›1‹/RoleId›‹RoleName›Associate‹/RoleName›‹/RolesModel› 3) искам, когато моят Modal се зареди, Associate трябва да бъде избран, ако RoleId съвпада с присвоения ID и ако потребителят промени ролята си , новият идентификатор на роля трябва да бъде получен от контролера, за да мога да го предам на друг URL адрес. - person Amit Kumar; 29.06.2015
comment
Не съм много сигурен каква е целта ви, можете ли да предоставите цигулка / codepen, което да ми помогне да изясня. - person stackg91; 30.06.2015