最近在项目中使用ionic,需要在页面上绑定一个年份下拉框,默认选中当前年,并且在下拉框的change事件中增加一些业务逻辑。
不管是使用ng-repeat还是ng-options,都是各种坑:默认选中、触发change事件、change后绑定的年份值(select的ng-model),三者中总有不能正常工作的。此处省略1000字,全是血泪....
最后发现,要想让select正常工作:
1、要使用ng-options,不要用ng-repeat
2、ng-options绑定的集合元素,必须是对象,不能是简单的字符串
3、select的ng-model必须绑定对象,而不是简单的字符串
上代码:
1、html部分:
<select ng-model="statYear.selected" ng-change="loadStat();" ng-options="y.val as y.text for y in years">
2、js部分:
$scope.years=[];
var now=new Date();
var thisYear=now.getFullYear();
for(var i=2018;i<=(thisYear+1);i++){
var obj={val:i,text:i+"年"};
$scope.years.push(obj);
}
$scope.statYear={
selected:thisYear
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。