在 AngularJS 中从 Controller 将 ng-option 重置为默认值
Reseting ng-option to default value from the Controller in AngularJS
我的应用程序中有以下 select:
<select ng-model="diagnose" ng-options="c as c.Name for c in diseases | orderBy:['Name']">
<option value="">Diagnose*</option>
</select>
将数据发送到服务器后,我重置了整个表单,但是 select 转到空选项而不是显示空 value/hardcoded 选项。
我试过以下选项:
$promisedb.then(function (data) {
$scope.diagnose = [1];
});
并且:
$promisedb.then(function (data) {
$scope.diagnose = [0];
});
并且:
$promisedb.then(function (data) {
$scope.diagnose = '';
});
但到目前为止运气不好。
我错过了什么?
我相信您可以使用 delete
命令将 select
重置为默认选项,如下所示:
delete $scope.diagnose;
演示:
angular.module('MyApp', []).controller('MyCtrl', function MyCtrl($scope) {
$scope.diseases = [
'Disease 1',
'Disease 2',
'Other diseases...'
];
$scope.reset = function () {
delete $scope.diagnose;
};
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.8/angular.min.js"></script>
<body ng-app="MyApp">
<div ng-controller="MyCtrl">
<select ng-model="diagnose" ng-options="d for d in diseases">
<option value="">Diagnose*</option>
</select>
<button ng-click="reset()">Reset</button>
</div>
</body>
我的应用程序中有以下 select:
<select ng-model="diagnose" ng-options="c as c.Name for c in diseases | orderBy:['Name']">
<option value="">Diagnose*</option>
</select>
将数据发送到服务器后,我重置了整个表单,但是 select 转到空选项而不是显示空 value/hardcoded 选项。
我试过以下选项:
$promisedb.then(function (data) {
$scope.diagnose = [1];
});
并且:
$promisedb.then(function (data) {
$scope.diagnose = [0];
});
并且:
$promisedb.then(function (data) {
$scope.diagnose = '';
});
但到目前为止运气不好。
我错过了什么?
我相信您可以使用 delete
命令将 select
重置为默认选项,如下所示:
delete $scope.diagnose;
演示:
angular.module('MyApp', []).controller('MyCtrl', function MyCtrl($scope) {
$scope.diseases = [
'Disease 1',
'Disease 2',
'Other diseases...'
];
$scope.reset = function () {
delete $scope.diagnose;
};
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.8/angular.min.js"></script>
<body ng-app="MyApp">
<div ng-controller="MyCtrl">
<select ng-model="diagnose" ng-options="d for d in diseases">
<option value="">Diagnose*</option>
</select>
<button ng-click="reset()">Reset</button>
</div>
</body>