登陆

javascript - select 框默认值

这是select的html部分

<select class="form-control w-searchbar-select" ng-model="aa" ng-init="aa='请选择设备状态'" >
   <option ng-repeat="data in  ProcedureList" value="{{$index}}">{{data}}</option>
</select>

下面是定义的equipmentProcedureList部分

$scope.equipmentProcedureList = ["请选择设备状态", "注册", "使用中", "故障", "报废"];

目前的这种写法页面出现的效果是:
select框中没有选中任何项,为空白状态。
但是,如果去掉option 里的value="{{$index}}"后则会正常显示。
求大神指点

# JavaScript
某草草某草草1616 天前365 次浏览

全部回复(3)我要回复

  • 仅有的幸福

    仅有的幸福2017-06-12 09:32:32

    想要达到的页面效果就是默认选中“请选择设备状态”,其余各项的value值为$index,最终采用的是ng-repeat实现了上述功能。
    $scope.equipmentProcedureList = ["请选择设备状态", "注册", "使用中", "故障", "报废"];

    上面是selcect的下拉选项,预先定义好的。

    $scope.aa="请选择设备状态";

    这里指定默认选中的项

    <select class="form-control w-searchbar-select" ng-model="aa" >
       <option value="请选择设备状态"></option>
       <option ng-repeat="data in  equipmentProcedureList" value="{{$index}}">{{data}}</option>
    </select

    这是HTML部分

    回复
    0
  • 高洛峰

    高洛峰2017-06-12 09:32:32

    angularJS推荐使用ng-options来创建下拉菜单

    <select ng-model="aa" ng-options="y for (x, y) in ProcedureList"></select>
    
    $scope.ProcedureList = ["请选择设备状态", "注册", "使用中", "故障", "报废"];
    
    //我一般使用下面这样初始化不用ng-init,这样我觉得好改一点,想初始化几就写数组的索引
    $scope.aa = $scope.ProcedureList[0];

    回复
    0
  • typecho

    typecho2017-06-12 09:32:32

    option里面的value的值是数字,而初始化的话value='请选择设备状态',没有对应的显示值与这个value..

    回复
    0
  • 取消回复发送