2015-06-18 3 views
1

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

<div id="gender" class="btn-group"> 
    <label class="btn btn-success" ng-model="userDetails.gender" btn-radio="true" uncheckable>Male</label> 
    <label class="btn btn-success" ng-model="userDetails.gender" btn-radio="false" 
      uncheckable>Female</label> 
</div> 

В коде контроллера я получаю существующее значение на сервере, а затем положить его в нг-модели следующим образом:

$scope.userDetails.gender = currentUser.get('Gender'); 

, который возвращает истину или ложь.

Я хочу, чтобы соответствующий переключатель был выбран по начальному значению, например: если код контроллера возвращает «true», я хочу, чтобы истинная кнопка была отмечена нажатой.

+1

Что такое 'currentUser.get ('Gender')' и что он возвращает? Что такое 'console.log (typeof currentUser.get ('Gender'))'. – dfsq

+0

Он возвращает истинное или ложное значение, указывающее, является ли пользователь мужским или женским (true = male, false = female) – slashms

+0

Проверьте, действительно ли группа переключателей затронута этим контроллером. Например, разместите ' {{userDetails.gender}}' рядом с группой переключателей и посмотрите, что является результатом. – user3632710

ответ

2

если контроллер код возвращает "истина" ...

Я предполагаю, что это ваша проблема. Ваша конфигурация HTML указывает, что значение модели должно иметь тип boolean, а не строку . Поэтому вам нужно убедиться, что currentUser.get('Gender') возвращает true/false как булевский. Или иначе определить атрибуты радио как btn-radio="'true'" и btn-radio="'false'"

+0

Это была моя точная мысль. У меня была проблема с этим в одном из моих проектов. –

+0

Да, это сработало, я был уверен, что мне не хватает чего-то другого, спасибо. – slashms

Смежные вопросы