问题描述
dom结果如下,是一个身高选择的下拉列表
<select ng-model='selectedHeight' ng-options='obj.h for obj in heights'></select>
在控制器中给heights传递一个身高数组
$scope.heights=[{'h':'140cm'},{'h':'141cm'}];
初始化时需要下拉列表显示第一个140cm的选项,怎样才能显示第一个选项?
探索:在当前这种情况下,直接使用$scope.selectedMonth = $scope.months[0].value; 是没有用的,我们需要在数组里面里面在增加一个value值
$scope.heights=[{'h':'140cm','value':0},{'h':'141cm','value':1}];
同时,在双向绑定的时候,将value绑定进去
<select ng-model='selectedMonth' ng-options='obj.value as obj.h for obj in heights'></select>
在这种情况下,就可以初始化显示
$scope.selectedMonth = $scope.months[0].value; 补充:注意,在定义ng-options的的时候,不能加value,否则你在控制器中无法获取选项的值
<select ng-model='selectedMonth' ng-options='obj as obj.h for obj in heights'></select>
参考:链接描述
问题解答
回答1:在控制器中初始化:
$scope.selectedHeight = $scope.heights[0].h;