angularJs綁定select的正確姿勢


最近在項目中使用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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM