也许这个问题已经重复了,或者也许有办法解决这个问题,
但我找不到解决这个问题的方法。
所以请不要对我愚蠢的问题生气,给我一些信息或解决这个问题的方法。
请看这个 fiddle 。
Set default value of select box
我想要的是,当我从 http call
获取数组时,
如何使用不在数组中的值设置选择框的默认值。
我用过 ng-init
但它没有用。
我知道还有其他方法可以解决这个问题,比如使用 <options>
标记并放置选项的第一个值或
使用 selected
但我想用 ng-options
.
不管你给的是链接、文档还是什么的,对我来说都是很大的帮助。
我会等待您的任何意见或答复。 :)
最佳答案
第一个解决方案你可以为默认值再添加一个option标签
HTML代码
<div ng-app="MyApp">
<div ng-controller="MyCtrl">
<select ng-options="opt as opt for opt in testOpt"
data-ng-model="resultOpt"
data-ng-change="checkResultOpt(resultOpt)">
<option value=''>Choose Category </option>
</select>
</div>
</div>
Controller 代码
var MyApp = angular.module('MyApp', [])
.controller('MyCtrl', ['$scope', function ($scope) {
$scope.testOpt = [
'ID',
'Name',
'Email',
'Address'
];
$scope.resultOpt = '';
}]);
工作 code
第二种解决方案:在从 http 调用获取后,您只需在数组列表中再添加一项
HTML代码
<div ng-app="MyApp">
<div ng-controller="MyCtrl">
<select ng-options="opt as opt for opt in testOpt"
data-ng-model="resultOpt"
data-ng-change="checkResultOpt(resultOpt)">
</select>
</div>
</div>
Controller 代码:
var MyApp = angular.module('MyApp', [])
.controller('MyCtrl', ['$scope', function ($scope) {
$scope.testOpt = [
'ID',
'Name',
'Email',
'Address'
];
$scope.testOpt.splice(0, 0, 'Choose Category');
$scope.resultOpt = 'Choose Category';
}]);
工作 Code
希望对你有帮助
关于javascript - 如何在 Angularjs 中使用不存在的值设置选择框的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46480744/