我无法通过select获得占位符的想法。如下所示,第一个条目仍为空白。
<select class="form-control" ng-model="refData" required>
<option ng-repeat="d in refData">
{{d.value}}
</option>
<option value="" disabled hidden selected>View current values</option>
</select>
答案 0 :(得分:17)
包含一个占位符选项,默认情况下会选中,但不能选择。另请查看ngSelect documentation。
<div ng-controller="MyCtrl">
<select name="mySelect"
id="mySelect"
ng-options="option.name for option in refData track by option.id"
ng-model="selectedOption">
<option value="" disabled selected>View current values</option>
</select>
</div>
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
$scope.refData = [
{id: '1', name: 'Option A'},
{id: '2', name: 'Option B'},
{id: '3', name: 'Option C'}
];
$scope.selectedOption = "";
});
答案 1 :(得分:2)
<select ng-model="testData" ng-options="test.name for test in testData">
<option value="" selected>View current values</option>
</select>
鉴于测试数据是:
$scope.testData = [{"name" : "John"}, {"name" : "Micheal"}, {"name" : "Sarah"}];
答案 2 :(得分:1)
我建议使用ng-options
id: 2
data: {
data: "field1" : "something",
data: "field2" : "something",
data: }
在您的控制器上,您可以声明
<select ng-options="d as d.value for d in refData" ng-model="refDataSelected"></select>
使用第一个元素作为默认选项
如果要创建虚拟文本,可以使用自定义文本向refData添加新对象,并为其指定一个不真实的ID,如-1。但是当你提交时,你应该检查它的id是否为-1。