2015-04-20 51 views
1

我用ng-repeat創建單選按鈕,並希望所選按鈕的名稱值出現在下方。AngularJS單選按鈕ng-repeat值

這是我的觀點:

<span ng-repeat="weight in weights"> 
    <input type="radio" name="weight" value="{{weight.name}}" id="weight{{weight.name}}" ng-checked="weight.checked"> 
    <label for="weight{{weight.name}}">{{weight.name}}</label> 
</span> 
<p>Weight: {{weight.name}}</p> 

這裏是我的控制器:

$scope.weights = [ 
    { 
    name: 1, 
    checked: true 
    }, 
    { 
    name: 2, 
    checked: false 
    }, 
    { 
    name: 3, 
    checked: false 
    } 
]; 

Here is my Plunker

我怎樣才能讓重量出現在段落標記中?

回答

2

您應該使用$ parent維護電臺的其中一個ng-model &的值。定義它在控制範圍內,而不是像ng-repeat這裏

標記

<body ng-controller="MainCtrl" ng-init="radioValue=1"> 
    <span ng-repeat="weight in weights"> 
    <input type="radio" name="weight" ng-model="$parent.radioValue" ng-value="{{weight.name}}" id="weight{{weight.name}}" ng-checked="weight.checked"> 
    <label for="weight{{weight.name}}">{{weight.name}}</label> 
    </span> 
    <p>Weight: {{radioValue}}</p> 
</body> 

Working Plunkr

+1

完美 - 謝謝! – Ryan

+0

@Ryan很高興幫助你,謝謝:-) –