2014-08-30 26 views
2
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js'></script> 

<div data-ng-app="app" data-ng-controller="exCtrl"> 
    <select data-ng-model="selectedValue" 
     ng-options="key as value for (key , value) in dataset"> 
     <option></option> 
    </select> 
    {{selectedValue}} 
</div> 

腳本選定值不工作在以ng選項的第一次

<script> 
    var app = angular.module("app",[]); 
    app.controller("exCtrl",function($scope) { 
     $scope.dataset = {1:"one", 2:"two", 3:"three"}; 
     $scope.selectedValue = 1; 
    }); 
</script> 

選擇的值不是在最初的選擇元件選擇,但所選擇的值是存在的,但它我們從select元素中選擇一個值後工作正常。爲什麼?我如何克服這一點?

注意:我不能改變數組結構。

+2

鍵是字符串,不是整數:'$ scope.selectedValue ='1';'。 – Blackhole 2014-08-30 16:05:28

+0

感謝它工作正常:) – 2014-08-30 16:07:19

回答

4

在你的代碼中你使用了一個文字對象,它的作用類似於一個鍵/值數組,但是當你聲明{1:"one"..時,這個鍵實際上並不是整數1而是字符串「1」。

如果你想初始化你的ng-option指令,把一個對象作爲源代碼,你必須使用一個字符串。

$scope.selectedValue = "1"; 
+0

感謝它工作正常:) – 2014-08-30 16:07:35