今天在使用avalon的項目中使用了兩個組織關聯的select標籤html
當選擇省份時,自動加載下級城市列表的功能在ie下出現異常。ajax
選擇一個省份時,加載的上一個省份的城市列表。基本代碼以下:dom
html函數
<select id="proselect" ms-duplex="provienceCode" ms-change="proChange"> <option ms-repeat="provienceList" ms-attr-value="el.code">{{el.name}}</option> </select> <select ms-duplex="cityCode"> <option ms-repeat="cityList" ms-attr-value="el.code">{{el.name}}</option> </select>
jsurl
vm = avalon.define({ $id:"dd", provienceCode:"", cityCode:"", cityList: [], provienceList: [], proChange: function(){ $.ajax({ url: "/dict/" + vm.provienceCode, success: function (data) { console.log(data) //當選擇省份列表中的item時,發現這裏城市列表獲取的是上一個省份的城市列表 vm.cityList = data.data } }) } })
調試發現,在選中item,觸發ms-change的函數發送請求時,vm.provienceCode發送的是改變以前的值。而不是改變以後的。spa
在ie下,ms-change會在綁定值改變以前被調用。調試
解決方法:code
給select綁定id值,在js中直接獲取該dom的value值,能夠正常的處理。htm
1 proChange: function(){ 2 $.ajax({ 3 url: "/dict/" + $("#proselect").val(), 4 success: function (data) { 5 console.log(data) 6 //當選擇省份列表中的item時,發現這裏城市列表獲取的是上一個省份的城市列表 7 vm.cityList = data.data 8 } 9 }) 10 }