JavaScriptは省と市の連動過程におけるバグの解決方法を実現します。
本論文ではJavaScriptが省と市の連動を実現するためのバグの解決方法を共有しました。参考にしてください。具体的な内容は以下の通りです。
まず、省と市の連動を実現するために発生した問題を説明します。
1.1.元の考え方
1.1.1、ロードを初期化する
ロード時には問題なく連動が可能ですが、バックショー時には都市をロードすることはできません。しかし、省がロードできます。
これは初期化の時に、省にロードされただけで、if(tVal!="){$key_DSGAcity").val(tVal);この言葉の意味は、前提条件を整えて都市のoptionをページに入れないと値が取れないということです。
1.1.5、ソリューション
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
まず、省と市の連動を実現するために発生した問題を説明します。
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,
});
初期化の時は省によってロードすればいいです。以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。