我有一个包含SELECT元素的表单。我从一个返回数据库数据的函数中加载控制器中的可能值。我想按组名称将选项分组。Angularjs选择组和初始值
我有加载正确显示分组的选项列表。我的问题是,初始值不显示 - 这是基于数据模型。它显示为空白。如果我在列表中选择任何选项,它会正确显示。
我跟着从这个解决方案Populate a Dropdown list by grouping using AngularJs
,从我所看到的,这应该工作...我猜这是一些小东西,我不小心忽略了各种其他例子的例子。
加载对下拉的可能值:
$http.get("api/getIndustry").success(function(data){
$rootScope.industryData = [];
$.each(data, function (i, data) {
$rootScope.industryData.push({
group: data.group,
id: data.id,
text: data.text
});
});
});
现在,我想最初设定选择的值(最终会从读出记录设置):
$scope.example3model = {group: 'Energy and Natural Resources', id: '25', text: 'Utilities'};
这是我认为的一部分。
<td colspan="4" ng-hide="editableForm.$visible">
<select ng-model="example3model" class="form-control input-md" ng-options="industry.text group by industry.group for industry in industryData" >
</select></br>
{{example3model}} <- did this to see what was chosen
</td>
我不知道还有什么,试图得到这个工作...我看到现在唯一的问题是这个列表是不显示的是什么最初是在example3model“默认”值(所以列表显示为空白)。如果我在列表中选择一个值,它会正确显示。
任何建议将不胜感激。
是否'$ rootScope.industryData ''array包含你设置为'$ scope.example3model'初始的确切对象?我要么设置循环数据数组的初始值,并指向对象引用 – GMaiolo
是的,据我所知可以确切地在那里。起初,我确实注意到id字段的格式不一样,但解决了这个问题。屏幕显示当屏幕显示不在下拉菜单中时显示的值。我从列表中选择了完全相同的选项,并且显示的完全相同。 – user3861284
请试试这个:'$ scope.example3model = $ rootScope.industryData.filter(function(data){return + data.id === 25})[0]'告诉我它是否有效,我们需要使用数组中相同的引用对象的初始值 – GMaiolo