2016-08-05 61 views
1

我有一個select標籤,我正在應用角度選擇。如何在Angular Chosen中設置默認選定值?

這是我的select標籤

<select name="rname" id="rname" ng-model="rname" ng-init="rname='CustomReport'" 
    ng-options="key as value for (key , value) in reportsValuesOptions track by key" chosen> 
     <option value="">---Select---</option> 
</select> 

上面select標籤正從下面對象

$scope.reportsValuesOptions = {'Cash Position Report':'Cash Position Report','Detail Report':'Detail Report','Reconciliation Report':'Reconciliation Report','Summary Report':'Summary Report','Sweep Report':'Sweep Report','FCCS/FBPS Detail Report':'FCCS/FBPS Detail Report','CustomReport':'Custom Report Name'}; 

填充的目的是一種用於select標籤的一對值和選項,其中keyoptions tags valuevalueoption tag text

現在我想將select標籤的默認值設置爲'CustomReport'option value'Custom Report Name'從上述目的的option text,使用ng-init

我想這樣做ng-init="rname='CustomReport'",但它不工作

如何設置從對象的鍵值對的價值?

FULL EXAMPLE

+0

其更好地從JS,而不是從HTML ..所以只是初始化'$ scope.rname =默認element' – harishr

回答

0

與解決方案的問題是,因爲你給一個對象,AngularJS主要是設計用於陣列它會導致AngularJS不以便能夠正確地跟蹤它們。你可能想寫一個較短的對象reportsValueOptions但它應該是對象的數組,它擁有類似以下形式:

[ 
    {label: 'First Label', value:'first-option'}, 
    {label: 'Second Label', value:'second-option'} 
] 

這是你jsfiddle修改後的版本與修改的對象,也顯示了一個被選中。

您還可以瞭解更多有關問題與對象的位置:https://docs.angularjs.org/api/ng/directive/ngOptions#complex-models-objects-or-collections-

0

您可以簡單地使用NG-INIT這樣

<select ng-init="somethingHere = options[0]" 
     ng-model="somethingHere" 
     ng-options="option.name for option in options"> 
</select> 
+3

HTTP做到這一點:/ /stackoverflow.com/a/21931119 不錯的複製粘貼技能..請給參考,如果你會複製一些elses的答案。 – Fma

+0

是的,我知道的權利。無論如何,謝謝 – Vicheanak

+0

@Vicheanak我還沒有得到它。從你說的我試過這個 'ng-init =「rname = reportsValuesOptions ['CustomReport']」' 但是沒有工作。我在做什麼錯? – Nishant123