JavaScriptは省と市の連動過程におけるバグの解決方法を実現します。


本論文ではJavaScriptが省と市の連動を実現するためのバグの解決方法を共有しました。参考にしてください。具体的な内容は以下の通りです。
まず、省と市の連動を実現するために発生した問題を説明します。
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,
 });
初期化の時は省によってロードすればいいです。
 以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。