如何在Angularjs

时间:2017-09-29 02:09:57

标签: javascript angularjs angularjs-ng-options jquery-selectbox

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

但我找不到任何解决方法。

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

请看这个小提琴。

Set default value of select box

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

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

我使用了ng-init但它没有用。

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

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

无论你给出什么是链接,文档或其他什么,它对我来说都会有很大的帮助。

我会等你的任何评论或答案。 :)

1 个答案:

答案 0 :(得分:2)

首先,您可以为默认值添加一个选项标记

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

希望这会对你有所帮助