如何在AngularJS中设置单选按钮的默认值?

Wal*_*erV 56 angularjs

我需要建立一个系统来根据所选票数改变总价.我创建了一些单选按钮来选择票数.问题是默认值未设置,加载时结果为null.

<input type="radio" ng-model="people" value="1" checked="checked"><label>1</label>
<input type="radio" ng-model="people" value="2"><label>2</label>
<input type="radio" ng-model="people" value="3"><label>3</label>
<ul>
  <li>{{10*people}}€</li>
  <li>{{8*people}}€</li>
  <li>{{30*people}}€</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

请看我的jsfiddle.

Aru*_*hny 115

people使用ngInit设置默认值

<div ng-app>
    <div ng-init="people=1" />
        <input type="radio" ng-model="people" value="1"><label>1</label>
        <input type="radio" ng-model="people" value="2"><label>2</label>
        <input type="radio" ng-model="people" value="3"><label>3</label>
    <ul>
        <li>{{10*people}}€</li>
        <li>{{8*people}}€</li>
        <li>{{30*people}}€</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

演示:小提琴

  • 您也可以通过设置scope.people = 1在控制器内部执行此操作,这是http://docs.angularjs.org/api/ng.directive:ngInit中描述的推荐方法. (23认同)
  • @MrSuS`people ='chars'` (5认同)
  • 使用`ng-init`是不好的做法.这种方法仅对第一次填充表单有效.如果您有值并将它们分配给模型绑定器,则ng-init将覆盖您的值. (5认同)

ais*_*ish 21

<div ng-app="" ng-controller="myCntrl">    
        <input type="radio" ng-model="people" value="1"/><label>1</label>
        <input type="radio" ng-model="people" value="2"/><label>2</label>
        <input type="radio" ng-model="people" value="3"/><label>3</label>
</div>
<script>
    function myCntrl($scope){
        $scope.people=1;
    }
</script>
Run Code Online (Sandbox Code Playgroud)


小智 13

为什么不呢 ng-checked="true"

  • 因为它会目视检查的单选按钮,但不会将"人"的价值一样,如果û有点击单选按钮,通过浏览器. (14认同)