2016-07-23 108 views
0

我有一個下拉菜單在我的HTML頁面如下:設置HTML選擇的價值

<select id="monthBox" ng-model="month"> 
    <option value="{{month}}" ng-repeat="month in months">{{month}}</option> 
</select> 

下拉的數據源是months,並且它綁定到模型month。最初,它已經從07到12的數字,並且默認選中的是07:

enter image description here

然而,這個數據源的變化。例如,在用戶點擊「下一年」按鈕後,列表變爲[01,02 ...,12]。

enter image description here

我想要實現的是,所選擇的值應保持爲07.但是,當列表的變化,所選擇的值會自動清空。它變成01或空的選項,具體取決於我測試的瀏覽器和設備。

我曾嘗試以下解決方案,但沒有工作:

在「明年」按鈕的點擊,我更新模型。在控制器中,我讓07再次:

$scope.model = '07'; 

但是,即使模型更新,下拉仍顯示01

2.我曾嘗試以編程方式設置DOM的值如下:

var element = document.getElementById('monthBox'); 
element.value = $scope.month; 

但是,這也沒有任何效果。下拉菜單仍然顯示01.

有什麼建議嗎?謝謝。

+0

當然聽起來不像一個好的用戶體驗。你也打破了總是在'ng-model'中使用對象的規則。創建一個重複執行問題的plunker演示 – charlietfl

+1

對於try#1,它應該是'$ scope.month ='07';',而不是'$ scope.model ='07';'。我建議放棄'<選擇ng-repeat ...>',而是使用'