2016-07-23 73 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 ...>',而是使用'