如何在 angularjs 中预先设置 select 单选按钮

How to pre-select radio buttons in angularjs

当我的模型值为 true 时,我希望在加载时选择单选按钮,但它恰恰相反。正在选择所有 false 个模型。如何解决这个问题。

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)

        }
      ]);

使用 ng-value 这是 angular radio

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

然后,如果 ng-valuetrue 并且模型值也是 true 那么复选框将被选中

这里是 update Demo

我修复了 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>

你做对了....只需要添加一个!所以模型将取范围值的反面...因为你同时使用它们我想它不会伤害你的代码

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

这对我有用

ng-checked ="true" 添加到您的无线电输入字段

`<input type="radio" ng-model="modelName" name="radioName" value="value1" ng-checked="true">`

对于使用 FormGroupFormControl 的人:

在模板中:

  1. 添加 formControlName = sameNameforAllRadioButtonsOfAChoice 作为单选按钮 input 标签的属性。
  2. 同时添加 value = "true"value = "false"(您也可以使用数字和字符串来完成,但我将继续使用布尔值)。

在组件中:

  1. 添加名称,例如sameNameforAllRadioButtonsOfAChoice,到您的 FormGroup:

myForm = new FormGroup({sameNameforAllRadioButtonsOfAChoice: new FormControl('false')})

这会将默认值设置为 false。在FormControl中,注意写成字符串!

奖金 - 如果您需要验证:

  1. import { FormControl, FormGroup, Validators } from '@angular/forms';
  2. myForm = new FormGroup({sameNameforAllRadioButtonsOfAChoice: new FormControl('false', [Validators.required])})