Javascript 将对象数组绑定到AngularJs中SELECT的选项值
我有一个对象的散列,这个散列的ID绑定到一个单选按钮。当用户选择此收音机时,我需要使用基于此模型属性的选项填充select标记。 很难解释,所以我创建了一个代码笔来显示我想要的: 提前谢谢 我稍微重写了一下你的HTML——没有使用ul/li标记,因为div或span就足够了。使它更容易 基本上,在ng repeat中,您可以执行以下操作:Javascript 将对象数组绑定到AngularJs中SELECT的选项值,javascript,angularjs,Javascript,Angularjs,我有一个对象的散列,这个散列的ID绑定到一个单选按钮。当用户选择此收音机时,我需要使用基于此模型属性的选项填充select标记。 很难解释,所以我创建了一个代码笔来显示我想要的: 提前谢谢 我稍微重写了一下你的HTML——没有使用ul/li标记,因为div或span就足够了。使它更容易 基本上,在ng repeat中,您可以执行以下操作: <div ng-repeat="attr in data"> <input type='radio' name='data-
<div ng-repeat="attr in data">
<input type='radio' name='data-attr' value='{{attr.id}}' />{{attr.name}}
<select ng-model="selected" ng-options="item.name for item in attr.values "></select>
</div>
{{attr.name}
正是ng选项使这项功能得以实现。我还向模型绑定添加了一个$scope.selected变量,但我没有对它做任何处理。根据需要使用 我发明了一把小提琴,可以解决你的问题
animateAppModule.service('data',function(){…})
ng model=“$scope.selectedOption”
你为什么对我大喊大叫:‘(嗨,詹姆斯,差不多是这样……但我不希望每种类型都有一个选择。它将只有一个选择,并将根据单选值填充……明白了吗?$watch docs在范围页面下:
<div ng-controller="TestCtrl">
<ul>
<li ng-repeat="attr in data">
<input type="radio" name='data-attr' value='{{attr.id}}' ng-model="selected.id" />{{attr.name}}
</li>
</ul>
<select ng-model="selected.value" ng-options="item.name for item in selectedAttr.values "></select>
</div>
function TestCtrl($scope) {
$scope.selected = {};
$scope.data = [
{"id":"113000",
"name":"Size",
"values":
[{"id":"92029","name":"Size A"},
{"id":"92030","name":"Size B"}]
},
{"id":"113002",
"name":"Color",
"values":
[{"id":"94029","name":"Blue"},
{"id":"94030","name":"Black"}]
}
];
$scope.$watch('selected.id', function(id){
delete $scope.selected.value;
angular.forEach($scope.data, function(attr){
if(attr.id === id){
$scope.selectedAttr = attr;
}
});
});
}