您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JavaScript實現省市聯動過程中出現bug怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體內容如下
先把實現省市聯動遇到的問題描述一下
1.1.原來的思路
1.1.1、初始化加載省份
$.ajax({ 'type' : 'POST', 'dataType' : 'json', 'url' : '${rc.contextPath}/crm/merchantMgr/editMerchantBankAccount.htm?method=getBankProvinces', 'success' : function(msg) { bankProvinces = msg; for(var i=0;i<bankProvinces.length;i++){ $("#key_DSGAprovince").append("<option value='"+bankProvinces[i][0]+"'>"+bankProvinces[i][0]+"</option>"); } }, 'cache' : false, 'async' : false });
1.1.2、當點擊省份的時候加載城市
function getBankCitys(){ $("#key_DSGAcity").empty(); var DSGAprovince=$("#key_DSGAprovince option:selected").text(); $.ajax({ 'type':'POST', 'data': {"province":DSGAprovince}, 'dataType': 'json', 'url':'${rc.contextPath}/crm/merchantMgr/editMerchantBankAccount.htm?method=getBankCities', 'success' : function(msg) { cities = msg; for(var i=0;i<cities.length;i++){ $("#key_DSGAcity").append("<option value='"+cities[i][0]+"'>"+cities[i][0]+"</option>"); } }, }); }
1.1.3、問題點
當加載的時候是沒有問題的能實現聯動,但是當回顯的時候是不能加載城市的,但是省份能加載進來。
var tVal = '海南省'; if(tVal!=""){$("#key_DSGAprovince").val(tVal);} var tVal = '文昌'; if(tVal!=""){$("#key_DSGAcity").val(tVal);}
1.1.4、分析
這是因為在初始化的時候,只是加載進來省份了,而if(tVal!=""){$("#key_DSGAcity").val(tVal);}這句話的意思就是說必須前提條件把城市的option里面放到頁面才能取出來值。
1.1.5、解決方案
var DSGAprovince = '${myObj.DSGAprovince?default("請選擇")}'; $.ajax({ 'type':'POST', 'data': {"province":DSGAprovince}, 'dataType': 'json', 'url':'${rc.contextPath}/crm/merchantMgr/editMerchantBankAccount.htm?method=getBankCities', 'success' : function(msg) { cities = msg; for(var i=0;i<cities.length;i++){ $("#key_DSGAcity").append("<option value='"+cities[i][0]+"'>"+cities[i][0]+"</option>"); } }, 'cache':false, 'async':false, });
在初始化的時候就根據省份加載一遍就可以了。
關于“JavaScript實現省市聯動過程中出現bug怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。