我有一个下拉菜单在我的HTML页面如下:设置HTML选择的价值
<select id="monthBox" ng-model="month">
<option value="{{month}}" ng-repeat="month in months">{{month}}</option>
</select>
下拉的数据源是months
,并且它绑定到模型month
。最初,它已经从07到12的数字,并且默认选中的是07:
然而,这个数据源的变化。例如,在用户点击“下一年”按钮后,列表变为[01,02 ...,12]。
我想要实现的是,所选择的值应保持为07.但是,当列表的变化,所选择的值会自动清空。它变成01或空的选项,具体取决于我测试的浏览器和设备。
我曾尝试以下解决方案,但没有工作:
在“明年”按钮的点击,我更新模型。在控制器中,我让07再次:
$scope.model = '07';
但是,即使模型更新,下拉仍显示01
2.我曾尝试以编程方式设置DOM的值如下:
var element = document.getElementById('monthBox');
element.value = $scope.month;
但是,这也没有任何效果。下拉菜单仍然显示01.
有什么建议吗?谢谢。
当然听起来不像一个好的用户体验。你也打破了总是在'ng-model'中使用对象的规则。创建一个重复执行问题的plunker演示 – charlietfl
对于try#1,它应该是'$ scope.month ='07';',而不是'$ scope.model ='07';'。我建议放弃'<选择ng-repeat ...>',而是使用'
您是否使用自定义选择选择器 –