如何在AngularJ中使用不存在的值设置SELECT框的默认值



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

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

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

请参阅此小提琴。

设置选择框的默认值

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

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

我使用了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';
}]);

工作代码

希望这对您有帮助

最新更新