2015-09-26 90 views
-2

我有選擇列表的選項:如何在選擇列表中選擇第一個元素Angular JS?

<select ng-model="yr[$index]" ng-selected="year.id == 'I'" ng-options="year.id as year.id for year in years"> 
    </select> 

如何選擇列表中選擇第一個元素,其中元素是字符串? 我的代碼是:

http://plnkr.co/edit/U4Fxh0JSxxtwhJWT9opG?p=preview

+1

在plunkr的代碼是從一個張貼在問題完全不同。下定決心。無論如何,由於ng-model包含選定的項目,並且用於雙向綁定,因此您只需將'formData.beginYearEnd [$ index]'初始化爲第一年的ID。 –

+0

現在是正確的。我更新了問題 – Muhad

+0

不,它不是。 PLUNK有2個選擇,並且它們中沒有一個是問題中發佈的。 –

回答

1

你可以寫另一個變量稱爲currentYear爲以下:

$scope.currentYear = $scope.years[0]; 

而您的選擇如下:

<select ng-model="currentYear" ng-options="year.id disable when (year.id < yr[$index]) for year in years"> 
</select> 

更新後

要顯示的數值,可以加選擇,如下:

<select ng-model="currentYear.value" ng-options="year.value as year.value for year in years"> 
</select> 
+0

你可以在這裏進行更改嗎? http://plnkr.co/edit/U4Fxh0JSxxtwhJWT9opG?p=preview – Muhad

+0

只需在''scope'中添加'currentYear',並將其設置爲'ng-model',然後將其綁定,並且運行良好? –

+0

需要設置'$ scope.currentYear = $ scope.years [0] .id;',它可以工作,但是代替'I'我在選擇列表中看到'0'。 http://plnkr.co/edit/TTN5JmLbMbtiyShGgcSx?p=preview – Muhad

1

嘗試使用:NG-的init = 「東西=選項[0]」

You can read about it here

+0

不起作用。我試過:'ng-init =「yr [$ index] = years [0]」' – Muhad

+0

ng-init被明確記錄爲壞習慣,除了一個用例。將該代碼放在它所屬的控制器中。 –

+0

同意使用控制器代碼,使事情變得更容易。 –

相關問題