2017-02-13 117 views
0

我是angular JS的新手。我有一个下拉框,其中带有值的静态选项存在。 根据条件,我必须选择与数据库中的值匹配的默认值。如何实现? model =“TemplateObj.IsActive”具有来自DataBase的int值0,1或2。根据数据库中的值选择下拉值

<label class="">STATUS</label> 
 
<select class="form-control input-sm" style="border: none" required ng-model="TemplateObj.IsActive" > 
 
<option value="2">In Development</option> 
 
<option value="1">Active</option> 
 
<option value="0">InActive</option> 
 
</select>

回答

0

尝试ngOptions而不是正常的HTML select

DEMO

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('MyCtrl',function($scope) { 
 
    
 
    $scope.status = [{ 
 
     title: 'In Development', 
 
     value: 2 
 
    }, { 
 
     title: 'Active', 
 
     value: 1 
 
    }, { 
 
     title: 'Inactive', 
 
     value: 0 
 
    }]; 
 
    
 
    $scope.TemplateObj = { 
 
    "IsActive": 1 
 
    } 
 
    
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <select ng-model="TemplateObj.IsActive" ng-options="option.value as option.title for option in status"></select> 
 
</div>

+0

谢谢工程:)解决方案 – user4895544

1

使用ng-options指令与状态的阵列。语法可能看起来有点复杂初学者,但你总有一天会了解它:value as title for element in array

JS:

$scope.statuses = [{ 
    title: 'In Development', 
    value: 2 
}, { 
    title: 'Active', 
    value: 1 
}, { 
    title: 'Inactive', 
    value: 0 
}]; 

HTML:

<select ng-model="TemplateObj.IsActive" ng-options="status.value as status.title for status in statuses"></select> 

这里是jsfiddle与工作示例。

+0

感谢您 – user4895544

1

一个选项是使用ng-options指令。

该文档是here,有很多例子可以从中引导。

相关问题