1

也许这可以重复,或者有办法解决这个问题,

但我找不到任何方法来解决这个问题。

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

请看这个小提琴。

设置选择框的默认值

我想要的是,当我从中获取数组时http call

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

我用过ng-init,但没有用。

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

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

无论您提供的是链接、文档还是其他内容,都会对我有很大帮助。

我会等待你的任何意见或答案。:)

4

1 回答 1

3

第一个解决方案,您可以为默认值添加一个选项标签

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

工作代码

希望对你有帮助

于 2017-09-29T04:50:58.140 回答