2017-01-04 37 views
0

我想通過將值設置爲ng模型來選擇我的AngularJS函數中的下拉值。但是當我在HTML中查找時,下拉菜單首先選擇空白值。這是我的HTML無法使用ng-model選擇下拉值第一項被選爲空白

<select class="pulldown" ng-model="test" ng-options="obj as obj.desc for identifier track by obj.value" ></select> 
     <td><span style="padding-left:1px"></td></td></td> 

這是控制器

$scope.modify = function(details){ 
$scope.identifier = [{"value" : "0","desc":"single"},{"value":"ABC","desc":""multiple"}] 
$scope.test = details.employee ; 
// Here details.employee can be ABC or 1 .Depending upon this ABC/1 I am trying to populate my HTML as Single/Multiple 
} 

這是我的加載選作第一個空值在我的角度JS功能。我想要單值/多個值填充取決於details.employee中的值我要去哪裏錯了。

回答

1

糾正你的語法ngOptions

<select ng-options='obj.value as obj.desc for obj in identifier' ng-model='test'></select> 

工作演示:

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

 

 
function MyCtrl($scope) { 
 
    
 
    $scope.identifier = [ 
 
    {value : "0",desc:"single"}, 
 
    {value:"ABC",desc:"multiple"} 
 
    ]; 
 
    
 
    $scope.test = $scope.identifier[0].value; 
 
    
 
    $scope.getVal = function(test) { 
 
     console.log(test); 
 
    } 
 
}
<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='test' ng-options='obj.value as obj.desc for obj in identifier' ng-change="getVal(test)"></select> 
 
</div>

+0

我想動態地設置'$ scope.test',它可以包含0或ABC的值。根據你的答案,它會失敗ABC – Praveen

+0

Check我更新後的答案也適用於ABC。 –

0

您定義的錯誤ng-options

ng-options="obj as obj.desc for identifier track by obj.value" 

所以更改:

<select class="pulldown" ng-model="test" ng-options="obj as obj.desc for identifier track by obj.value" ></select> 

<select class="pulldown" name="test" ng-model="test" ng-options="obj.value as obj.desc for obj in identifier" > 

現在如你預期它會工作。見的jsfiddle link

+0

我得到錯誤,當我使用這個語句。 – Praveen

+0

你有什麼錯誤?它在這裏爲我工作。 –

+0

angular.min.js:101錯誤:[ngOptions:iexp] http://errors.angularjs.org/1.3.3/ngOptions/iexp?p0=obj%20as"