Javascript 如何将选项的选定状态绑定到AngularJS中的布尔值
我有一个select元素列表,其中选项在JSON对象中定义。我希望每个选项以布尔形式保留选定状态,这意味着当用户选择一个选项时,该选项的“选定”值变为“true”,如果用户选择另一个选项,该值变为“false”Javascript 如何将选项的选定状态绑定到AngularJS中的布尔值,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有一个select元素列表,其中选项在JSON对象中定义。我希望每个选项以布尔形式保留选定状态,这意味着当用户选择一个选项时,该选项的“选定”值变为“true”,如果用户选择另一个选项,该值变为“false” 为了保持简单,请重新构建您的模型。大概是这样的: HTML <div ng-repeat="choice in choices"> {{choice.name}}: <select>
为了保持简单,请重新构建您的模型。大概是这样的: HTML
<div ng-repeat="choice in choices">
{{choice.name}}:
<select>
<option value="" ></option>
<option ng-repeat="option in choice.options" ng-selected="option.selected">{{option.name}}</option>
</select>
</div>
{id=1, name='option1', selected=false}
<select ng-model="selectedChoice"
ng-options="opt as opt for (opt, obj) in options">
<option value=""></option>
</select>
$scope.options = {
"option1":{
id:1,
name:'option1',
selected:false
},
"option2":{
id:2,
name:'option2',
selected:false
},
"option3":{
id:3,
name:'option3',
selected:false
}
}
$scope.$watch("selectedChoice",function(newVal, oldVal){
if(!newVal) return;
$scope.options[newVal].selected = true;
$scope.options[oldVal].selected = false;
});