[英]How to set default value of select box with non-existed value in Angularjs
也许这可能有重复或者可能有办法解决这个问题,
但我找不到任何方法来解决这个问题。
所以请不要生气我的愚蠢问题,并给我一些信息或方法来解决这个问题。
请看这个小提琴。
我想要的是,当我从http call
获取数组时,
如何设置选择框的默认值,其值不在数组中。
我用过ng-init
但是ng-init
。
我知道还有其他方法可以解决这个问题,比如使用<options>
标签并将第一个值选为或者
使用selected
但我想使用ng-options
。
无论你给出什么是链接,文档或其他东西,它对我来说都会有很大的帮助。
我会等你的任何评论或答案。 :)
首先,您可以为默认值添加一个选项标签
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>
控制器代码
var MyApp = angular.module('MyApp', [])
.controller('MyCtrl', ['$scope', function ($scope) {
$scope.testOpt = [
'ID',
'Name',
'Email',
'Address'
];
$scope.resultOpt = '';
}]);
工作代码
第二个解决方案:从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>
控制器代码:
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';
}]);
工作守则
希望这个能对您有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.