如何将下拉菜单与单选按钮同步,以便当我选中一个按钮时,下拉菜单会以相同的选项动态更改?
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.colors = [
{model : "Red"},
{model : "Green"},
{model : "Blue"},
{model : "Purple"}
];
});
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<p>What is your favorite color?</p>
<select ng-model="selectedColor" ng-options="x.model for x in colors">
</select>
<input type="radio" ng-model="colors.model" value = "{{selectedColor.model}}"> Red
<input type="radio" ng-model="colors.model" value = "{{selectedColor.model}}"> Green
<input type="radio" ng-model="colors.model" value = "{{selectedColor.model}}"> Blue
<input type="radio" ng-model="colors.model" value = "{{selectedColor.model}}"> Purple
</div>
</body>
</html>
答案 0 :(得分:1)
一种方法是使用相同的ng-model
,这意味着您想要考虑无线电的相应值,以及数组中的对象
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.colors = [
{model : "Red"},
{model : "Green"},
{model : "Blue"},
{model : "Purple"}
];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<p>What is your favorite color?</p>
<select ng-model="selectedColor" ng-options="x.model for x in colors">
</select>
<input name='rad' type="radio" ng-model="selectedColor" ng-value="colors[0]"> Red
<input name='rad' type="radio" ng-model="selectedColor" ng-value="colors[1]" > Green
<input name='rad' type="radio" ng-model="selectedColor" ng-value="colors[2]"> Blue
<input name='rad' type="radio" ng-model="selectedColor" ng-value="colors[3]"> Purple
</div>
&#13;
其他几种方法是在每个方法上使用ng-change
并更新其他内部函数,或在不同ng-model
上使用手表并在这些手表中更新其他