ここで smarty ストリートのサポートが本当に必要でした。私のフォームにはセクションがあります 物理アドレス と 郵送先住所 両方の住所は国内または国際アドレスにすることができます。物理アドレスの国際アドレスの例が国内アドレスである場合、smarty-ui を非表示にしようとしています郵送先住所は国際住所です。画像のように、国際チェックの場合は $(".smarty-ui").hide(); を設定します。保存ボタンをクリックすると、smarty-ui ポップアップがまだ国際アドレスに表示されます。
すべての前もって感謝します
これが私の例です
var isPhysicalIntChecked = $("input[id='Address1_isInternational']:checked").length;
var isPhysicalMailingIntChecked = $("input[id='Address2_isInternational']:checked").length;
if (isPhysicalIntChecked ==0) {
var ss = enableSmartyStreets();
attachSSEventHandler(ss);
$(".smarty-ui").show();
}
else $(".smarty-ui").hide();
if (isPhysicalMailingIntChecked == 0) {
var ss = enableSmartyStreets();
attachSSEventHandler(ss);
$(".smarty-ui").show();
}
else $(".smarty-ui").hide();
function enableSmartyStreets() {
debugger;
var liveaddress = $.LiveAddress(
{
key: '@ConfigurationSettings.AppSettings["SmartyStreetsHTMLKey"]',
debug: false,
submitSelector: '#btnSave',
addresses: [
{
id: 'physical',
street: '#Address1_street1',
street2: '#Address1_street2',
city: '#Address1_city',
state: '#Address1_stateAndTerritoriesId',
zipcode: '#Address1_zipCode5'
},
{
id: 'mailing',
street: '#Address2_street1',
street2: '#Address2_street2',
city: '#Address2_city',
state: '#Address2_stateAndTerritoriesId',
zipcode: '#Address2_zipCode5'
}
]
});
return liveaddress;
}