我有一个选择框,它是动态填充ng-option
。我希望它默认显示“选择一个”。我用下面的html希望实现这一点。为什么这个选择框不显示“选择一个”选项?
<select id="productType" name="productType" class="col-lg-12 col-xs-12 form-control"
ng-model="context.product"
ng-options="product.value as product.name for product in data.products"
ng-change="loadAccessMethods()" required>
<option value="" disabled>Select one</option>
</select>
但是,这是我看到,当我运行该应用程序。
更新:我使用的角度1.6.5
更新:Vivz增加了工作的代码片段,在他回答的1.4.x角。但它不适用于Angular 1.6.x.任何人都可以指出为什么这在Angular 1.6.x中被破坏了吗?
angular.module("App",[])
.controller("AppCtrl",function($scope){
$scope.context = {
product: '',
accessMethod: '',
workOrderNum: 0
};
$scope.data = {
products: [
{ name: 'ABC', value: '0', type: 't1' },
{ name: 'XYZ', value: '1', workflowType: 't2' }
]
};
});
<!DOCTYPE html>
<html ng-app="App">
<head>
<meta charset="utf-8" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<!-- <script data-require="[email protected]" data-semver="1.4.9" src="https://code.angularjs.org/1.4.9/angular.js"></script> -->
<script src=" https://opensource.keycdn.com/angularjs/1.6.5/angular.min.js "></script>
<script src="script.js"></script>
</head>
<body>
<div ng-controller="AppCtrl">
<select id="productType" name="productType" class="col-lg-12 col-xs-12 form-control"
ng-model="context.product"
ng-options="product.value as product.name for product in data.products"
ng-change="loadAccessMethods()" required>
<option value="" disabled>Select one</option>
</select>
</div>
</body>
</html>
尝试删除该类并检查它是否到来。我现在只是测试,选择一个默认即将到来。你使用的是哪个版本的bootstrap? – Vivz
@Vivz我正在使用bootstrap v3.3.7。我认为这与Angular有关 –
我不这么认为,我使用了你的代码,并且它默认会来。检查下面的答案。如果围绕选择或标签的css出现问题,可能会发生这种情况。只需验证。 – Vivz