我正在使用 ng-options 作为我的选择标签,以便为用户提供选择。一切正常,但第一次选择选项后,默认空白值消失了。如果我想再次恢复为默认空白值怎么办?那怎么办呢?如何保留该空白值?
这是我的代码示例:
<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="style.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body ng-controller="myController">
<h1>Hello World!</h1>
<select ng-model="mySelection" name="" id="" ng-options="x.value as x.label for x in myOptions">
</select>
</body>
</html>
<script>
var app = angular.module('app', []);
app.controller('myController', function($scope){
$scope.myOptions = [{
"value": null,
"label": null,
},{
"value": "First",
"label": "First",
},{
"value": "Second",
"label": "Second",
},{
"value": "Third",
"label": "Third",
}]
});
</script>
最佳答案
使用
<select ng-model="mySelection" name="" id="" ng-options="x.value as x.label for x in myOptions">
<option value=""></option>
</select>
不要用虚拟 null 对象污染您的“myOptions”,因为 API 不会返回相同的结果。您需要在表示层上处理它,如上所示。保存时,如果use选择empty,则会保存为null(如果处理得当)
你也可以有这样的东西
<option value="">---select---</option>
关于javascript - AngularJS ng-options 在选择选项后删除了默认空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253079/