搜索

首页  >  问答  >  正文

angular.js - angularjs如何在下拉列表中添加默认显示的选项?

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>

参考:
链接描述

黄舟黄舟2744 天前560

全部回复(1)我来回复

  • PHPz

    PHPz2017-05-15 16:57:59

    在控制器中初始化:

        $scope.selectedHeight = $scope.heights[0].h;

    回复
    0
  • 取消回复