您好我已尝试实现几个示例中提供的更改但似乎没有效果。我确实有一个ng模型,我清楚地定义了我将收到的对象的属性。但它仍然无效。 任何帮助都会很棒。
HTML
<select chose ng-model="selected" ng-options="type as type.Name for type in ansExplanOpt">
<option value="">-- Select an Option --</option>
</select>
控制器
$scope.selected = ansExplanOpt.data;
对象正在填充(我已选中),其所拥有的属性是Name和Id。
任何帮助都会很棒。感谢
答案 0 :(得分:2)
你非常接近。只是看起来像是对Post.where("user_id NOT IN (?)", User.pluck(:id)).delete_all
值的误用。你的代码应该是
ng-model
<select chose ng-model="selectedValue" ng-options="type.Id as type.Name for type in ansExplanOpt">
</select>
将是用户选择的内容。
他们的文档也很好地分解了它:https://docs.angularjs.org/api/ng/directive/ngOptions
答案 1 :(得分:1)
这是解决方案:
ng-model
是用户选择的值。
function TodoCtrl($scope) {
$scope.ansExplanOpt = [
{text:'learn angular', id:1},
{text:'build an angular app', id:2}];
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
<div ng-app>
<div ng-controller="TodoCtrl">
<select chose ng-model="select" ng-options="type as type.text for type in ansExplanOpt">
<option value="">-- Select an Option --</option>
</select>
{{select.text}}
<br>
{{select}}
</div>
</div>
答案 2 :(得分:1)
您可以定义要预选的数组中的哪个元素:
var myApp = angular.module('myApp', [])
.controller('TestController', ['$scope', function($scope) {
$scope.data = [{
label: 'blah',
value: 'blah'
}, {
label: 'blah1',
value: 'blah1'
}, {
label: 'blah2',
value: 'blah2'
}];
$scope.sel = $scope.data[0];
}]);
HTML:
<div ng-controller="TestController">
{{sel}}
<select ng-model="sel.value" ng-options="d.value as d.label for d in data">
</select>
</div>
有关详细信息,请参阅jsfiddle