Angular:如何使用ng重复并设置默认的单选按钮选项?

时间:2015-03-24 23:22:59

标签: javascript angularjs forms

我检查了this question,但它并不是非常有用,因为他们使用ng-repeat的方式不同。

This也没有帮助。

我有一张表格:

<label ng-repeat="option in options">
  <input type="radio" ng-model="myObject.value" ng-value="option.key">
</label>

我的角度控制器:

options = {
  key: 'Option 1'
  val: 'Value 1'
}
$scope.myObject = { value: 'default option' }

我希望这能设置默认的无线电选项。发生的事情是,无论我尝试什么,最后option in list都被设置为默认值。我确定我不明白为什么会这样,所以我在这里。

如何设置默认的无线电选项以及我当前的配置有什么问题?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

如果要将myObject.value的值设置为输入的默认选项,则必须有该键的选项。

演示:https://jsfiddle.net/2cb53pj3/

只需使用$scope.myObject.value数组

的键的匹配值设置options即可

答案 1 :(得分:0)

准备好了,但另一个答案是在我之前提交的。您需要将myObject.value设置为与您希望成为默认值的option.key相匹配。

的script.js

(function () {
angular.module('radioExample', [])
  .controller('ExampleController', ['$scope',
    function($scope) {

      $scope.options = [{
        'key': 'Option 1',
        'val': 'Value 1'
      }, {
        'key': 'Option 2',
        'val': 'Value 2'
      }, {
        'key': 'Option 3',
        'val': 'Value 3'
      }];

      $scope.myObject = {
        value: 'Option 2'
      };
    }
  ]);
})();

的index.html

<!DOCTYPE html>
<html ng-app="radioExample">

<head>
  <script data-require="angular.js@*" data-semver="1.4.0-beta.6" src="https://code.angularjs.org/1.4.0-beta.6/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body ng-controller="ExampleController">
  <form name="Options">
    <div ng-repeat="option in options">
      <label>{{option.key}}</label>
      <input type="radio" ng-model="myObject.value" ng-value="option.key">

    </div>
    Selected option is {{myObject.value}}
  </form>

</body>

</html>