如何使用 Angularjs 中不存在的值设置 select 框的默认值

How to set default value of select box with non-existed value in Angularjs

也许这个问题已经重复了,或者也许有办法解决这个问题,

但是我找不到解决这个问题的方法。

所以请不要对我愚蠢的问题生气,给我一些信息或解决这个问题的方法。

请看这个fiddle。

Set default value of select box

我想要的是,当我从 http call

获取数组时

如何使用不在数组中的值设置 select 框的默认值。

我用过ng-init,但没用。

我知道还有其他方法可以解决这个问题,比如使用 <options> 标签并输入选项的第一个值或

使用 selected 但我想使用 ng-options.

不管你给的是link、文档什么的,对我来说都是很大的帮助。

我会等待您的任何意见或答复。 :)

第一个解决方案你可以为默认值

再添加一个选项标签

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 = '';
}]);

工作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>

控制器代码:

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

希望对您有所帮助