avalon中ms-change綁定使用oldValue值得問題

今天在使用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     }
相關文章
相關標籤/搜索