2016-07-07 55 views
0

我有两个单选按钮,我想第一个被自动选择AngularJS:自动选择一个单选按钮

<input type="radio" name="playlist" ng-value="myCtrl.cleanPlaylist" ng-model="myCtrl.playlistSelected"> Clean 

<input type="radio" name="playlist" ng-value="myCtrl.explicitPlaylist" ng-model="myCtrl.playlistSelected" ng-disabled="myCtrl. 

我有我的控制器要选择的第一个,但由于某种原因,它不工作。 ..

var myModule = angular.module("MyApp", []).controller('MyController', function(){ 

this.explicitDisabled = false; 

this.playlistSelected = this.cleanPlaylist; 

}) 
+0

也许我思念一个人,但为什么不'checked'属性只是添加到第一?无法相信其他答案没有这样说 –

回答

0

playlistSelected为空,它将需要一个匹配单选按钮值的值。什么是cleanPlaylist?为什么不硬编码收音机的值,然后将控制器中的播放列表选择为该值。

1

必须设置为单选按钮的值,ng-value是角表达到ng-model将被选择了无线电时,根据 docs设置。

然后,使其运作的,你可以做到这一点如下:

(function() { 
 
    "use strict"; 
 
    angular.module('app', []) 
 
    .controller('mainCtrl', function() { 
 
     var vm = this; 
 
     
 
     vm.playlistSelected = 'clean'; 
 
    }); 
 
})();
<!DOCTYPE html> 
 
<html ng-app="app"> 
 

 
<head> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script> 
 
</head> 
 

 
<body ng-controller="mainCtrl as main"> 
 
    <input type="radio" name="playlist" value="clean" ng-model="main.playlistSelected"> Clean 
 
    <input type="radio" name="playlist" value="complete" ng-model="main.playlistSelected"> Complete 
 
</body> 
 

 
</html>