2014-05-23 82 views
2

我得到與角度的問題,我不理解的問題可能是什麼更新NG-模型不是單選按鈕

<div ng-controller="CountrySelectorController"> 
      Selected Countryid = {{countryid}} 
      <div class="radio" ng-repeat="country in countries"> 
       <input type="radio" name="countryOptions" ng-model="countryid" value={{country.countryid}} ng-checked="countryid == country.countryid" /><span style="margin-left:10px;">{{country.countryid}}.{{country.name}}</span> 
       </label> 
      </div> 
</div> 

這就是我的控制器:

app.controller('CountrySelectorController', function($scope, $rootScope){ 
    $scope.countryid = 1; 
}); 

,我發現了問題: - 請選擇Countryid = 1出現在啓動。雖然我正在選擇不同的國家,但型號並未更新

+1

你不應該用納克檢查。 – dotnetstep

+0

檢查這個線程 http://stackoverflow.com/questions/12597138/angularjs-radio-buttons – Braulio

+0

@dotnetstep,我使用的檢查,其確定,但該模型沒有udpdating,選擇Countryid始終保持1 – Noor

回答

4

ng-repeat創建了自己的作用域,這不是您想要將ng模型綁定到的內容。您想要將ng-model綁定到控制器的作用域(這是ng-repeat的父範圍)。 使用$ parent來升級到正確的範圍。另外,不要使用ng-checked。

ng-model="$parent.countryid" 

Demo

+2

感謝的人,它的工作,這一個,事實ng-repeat創造了自己的範圍,我不知道 – Noor