2015-03-11 6 views
1

Когда значение моей модели равно true, тогда я хочу, чтобы переключатели были выбраны при загрузке, но это происходит наоборот. Все модели false выбираются. Как это исправить.Как выбрать радиокнопки в angularjs

http://plnkr.co/edit/DIYm4vBM3srdS61K6EPA?p=preview

angular.module('radioExample', []) 
     .controller('ExampleController', ['$scope', 
     function($scope) { 
      $scope.kind = [{ 
      name: 'task', 
      selected: false 
      }, { 
      name: 'bug', 
      selected: false 
      }, { 
      name: 'other', 
      selected: true 
      }, { 
      name: 'rfe', 
      selected: false 
      }] 
      $scope.$watch('kind', function() { 
      console.log('changed', JSON.stringify($scope.kind, null, 2)) 
      }, true) 

     } 
     ]); 
+1

возможно дубликат [AngularJs: Как установить переключатель проверяется на основе модели] (http://stackoverflow.com/questions/14530785/angularjs-how-to-set -radio-button-checked-based-on-model) – joragupra

ответ

10

использование ng-value здесь док для angular radio

<input type="radio" name="" id="" value="" ng-model="k.selected" ng-value="true" /> 

затем, если ng-value является true и значение модели также true то флажок будет проверено

здесь update Demo

+0

да это w орки! Есть ли параметр для переключения выбора? Поскольку сейчас он выбирает сразу несколько переключателей, мне нужно выбрать только один вариант: – Sudhakar

+0

рад помочь вам, :) и если вы хотите выбрать только одну радиостанцию, тогда вам придется использовать один и тот же ' model' для каждого переключателя, в вашем случае есть разные модели для каждого переключателя, но вы можете сделать что-то вроде этого http://plnkr.co/edit/pOzHeDvqz32qIxBGexvL?p=preview :) –

+0

Здесь вы заслуживаете печенье! – Th3B0Y

1

я установил plunker plunker

<form name="myForm" ng-controller="ExampleController"> 
    <br />all 'false' radio buttons are selected when 'value' is used ------------- 
    <br /> 
    <div ng-repeat="k in kind"> 
     <input type="radio" name="" id="" value="" ng-model="!k.selected" value="k.selected" />{{k.name}} 
    </div> 
    <br />all radio buttons are selected when 'ng-value' is used ------------- 
    <br /> 
    <div ng-repeat="k in kind"> 
     <input type="radio" name="" id="" value="" ng-model="k.selected" ng-value="k.selected" />{{k.name}} 
    </div> 
</form> 

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

+0

Ответ K.Toress выглядит лучше для меня ... но оба работают .... –

+0

Спасибо за ответ Jony – Sudhakar

3
<input type="checkbox" id="rempass" ng-model="rememberMe" ng-checked="rememberMeUserInfoCheck()" > $scope.rememberMeUserInfoCheck=function() { return true; } 

это работает для меня

+0

не могли бы вы рассказать подробнее? – manetsus

+0

<входной тип = "флажок" ID = "rempass" нг-модель = "RememberMe" \t \t \t \t \t \t нг-проверено = "rememberMeUserInfoCheck()" \t \t \t \t \t \t \t \t \t \t \t \t> \t \t \t \t \t \t $ scope.rememberMeUserInfoCheck = функция() { \t return true; } это работает для меня –

+0

Ха-ха, пожалуйста, отредактируйте свой ответ, а не в комментарии – manetsus

0

Добавить нг-проверено =» правда» в вашем поле ввода радио

`<input type="radio" ng-model="modelName" name="radioName" value="value1" ng-checked="true">` 
Смежные вопросы