complete address field. still have javascript issue for fill back and display address ext fields in modal.

This commit is contained in:
Matthew K. Fu JuYuan authored and chris committed 2012-11-20 09:53:37 +08:00
1 parent 17988f2fb2
commit 2aa9a19deb
7 files changed
+111 -66

No files matched your search

+56 -41
View File
@@ -1,18 +1,25 @@
jQuery(document).ready(function($) {
// Stuff to do as soon as the DOM is ready. Use $() w/o colliding with other libs;
var current_textarea = {};
var parent = null;
var this_modal_window = null;
var lang = <%= VALID_LOCALES.to_s %>;
$.each(lang,function(index,value){
current_textarea[value] = $("textarea[for="+value+"]").val();
});
$("textarea[func=input_unit]").each(function(){
var id = $(this).attr("id");
current_textarea[id] = $(this).val();
})
console.log(current_textarea);
// current_textarea['en'] = $("textarea[for=en]").val();
// current_textarea['zh_tw'] = $("textarea[for=zh_tw]").val();
$("div.controls").on("click","a.edit-btn",function(){
parent = $(this).parent();
this_modal_window = $(this).parent().parent().parent().parent().find(".modal");
choosen_lang = $(this).parent().parent().find("ul li.active").attr("for");
$(this).parents(".editMore").find(".modal_tab").removeClass("active in");
$(this).parents(".editMore").find(".modal_tab[for="+choosen_lang+"]").addClass("active in");
@@ -29,38 +36,47 @@ jQuery(document).ready(function($) {
// $("#tab4").addClass("active in");
// $(".modal-body li").eq(1).addClass("active");
// break;
});
$.each(lang,function(i,value){
var sa = $(".tab-content input.street_address_"+lang[i]).val();
var city = $(".tab-content input.city_"+lang[i]).val();
var county = $(".tab-content input.county_"+lang[i]).val();
var zip = $(".tab-content input.zip_"+lang[i]).val();
var country = $(".tab-content input.country_"+lang[i]).val();
$(".modal-body").find('#street_address_'+lang[i]).val(sa)
$(".modal-body").find('#city_'+lang[i]).val(city);
$(".modal-body").find('#counties_'+lang[i]).val(county);
$(".modal-body").find('#zip_'+lang[i]).val(zip);
$(".modal-body").find('#country_'+lang[i]).val(country);
// console.log(this_modal_window);
var sa = parent.find("input.street_address_"+lang[i]).val();
var city = parent.find("input.city_"+lang[i]).val();
var county = parent.find("input.county_"+lang[i]).val();
var zip = parent.find("input.zip_"+lang[i]).val();
var country = parent.find("input.country_"+lang[i]).val();
this_modal_window.find('.tab-content div[for='+lang[i]+'] textarea[func=street_address]').val(sa);
this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=city]').val(city);
this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=county]').val(county);
this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=zip]').val(zip);
this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=country]').val(country);
var verify = sa + city + country +county + zip;
var combined = "";
if(verify!="")
combined = sa + "\n" + city + "\n" + county + "\n" + zip + "\n" + country;
if($(".tab-content textarea[for="+lang[i]+"]").val() != combined){
$(".tab-content").find('#street_address_'+lang[i]).val($(".tab-content textarea[for="+lang[i]+"]").val());
$(".modal-body input").val("");
combined = sa + "\n" + city + "\n" + county + "\n" + zip + "\n" + country+"\n";
var Text0 = parent.find("div."+lang[i]+" textarea[func=input_unit]").val();
Text1 = Text0.replace(/(\r\n|\n|\r)/gm,"");
var Text2 = combined;
Text2 = Text2.replace(/(\r\n|\n|\r)/gm,"");
if(Text1 != Text2){
this_modal_window.find('.tab-content div[for='+lang[i]+'] textarea[func=street_address]').val(Text0);
this_modal_window.find("input").val("");
}
});
$("textarea.dummy").change(function(){
});
$("textarea[func=input_unit]").change(function(){
var id = $(this).attr("id");
var lang = $(this).attr("for");
if(current_textarea[lang] != $(this).val())
$("input.indicator_"+lang).val("true");
if(!parent)
parent = $(this).parent().parent();
console.log(current_textarea[id]);
if(current_textarea[id] != $(this).val())
parent.find("input.indicator_"+lang).val("true");
else
$("input.indicator_"+lang).val("false");
parent.find("input.indicator_"+lang).val("false");
})
$(".address-edit").on("hidden",function(){
@@ -71,25 +87,24 @@ jQuery(document).ready(function($) {
})
$(".bt-save").click(function(){
var lang = <%= VALID_LOCALES.to_s %>;
for(i=0;i<2;i++){
var sa = $(".tab-content").find('#street_address_'+lang[i]).val();
var city = $(".tab-content").find('#city_'+lang[i]).val();
var county = $(".tab-content").find('#counties_'+lang[i]).val();
var zip = $(".tab-content").find('#zip_'+lang[i]).val();
var country = $(".tab-content").find('#country_'+lang[i]).val();
$(".tab-content input.street_address_"+lang[i]).val(sa);
$(".tab-content input.city_"+lang[i]).val(city);
$(".tab-content input.county_"+lang[i]).val(county);
$(".tab-content input.zip_"+lang[i]).val(zip);
$(".tab-content input.country_"+lang[i]).val(country);
var sa = this_modal_window.find('.tab-content div[for='+lang[i]+'] textarea[func=street_address]').val();
var city = this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=city]').val();
var county = this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=county]').val();
var zip = this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=zip]').val();
var country = this_modal_window.find('.tab-content div[for='+lang[i]+'] input[func=country]').val();
parent.find("input.street_address_"+lang[i]).val(sa);
parent.find("input.city_"+lang[i]).val(city);
parent.find("input.county_"+lang[i]).val(county);
parent.find("input.zip_"+lang[i]).val(zip);
parent.find("input.country_"+lang[i]).val(country);
var verify = sa + city + country +county + zip;
var combined = "";
if(verify!="")
combined = sa + "\n" + city + "\n" + county + "\n" + zip + "\n" + country;
$(".tab-content textarea[for="+lang[i]+"]").val(combined);
$("input.indicator_"+lang[i]).val("false");
current_textarea[lang[i]] = combined;
parent.find("textarea[for="+lang[i]+"]").val(combined);
parent.find("input.indicator_"+lang[i]).val("false");
current_textarea[parent.find("textarea[for="+lang[i]+"]").attr("id")] = combined;
}
})
@@ -20,14 +20,15 @@
$modalNumber+=1;
var $CloneTarget = $(this).parents(".controls").prev(".multipleInput").children('.controls:last');
$(this).parents(".controls").prev(".multipleInput").append($CloneTarget.clone());
class_to_be_removed = $(this).parents(".controls").prev(".multipleInput").attr("ext_class")
// $(this).parents(".controls").prev(".multipleInput").children('.controls:last input').val("");
$(this).parents(".controls").prev(".multipleInput").children('.controls:last').find('input').val('')
$(this).parents(".controls").prev(".multipleInput").children('.controls:last').find('.tab-pane').addClass("NewInput_"+$modalNumber)
$(this).parents(".controls").prev(".multipleInput").children('.controls:last').find('.tab-pane').removeClass(class_to_be_removed).addClass("NewInput_"+$modalNumber)
btn = $(this).parents(".controls").prev(".multipleInput").children('.controls:last').find(".nav.nav-pills li")
$.each(btn,function(i,value){
old_link = $(this).children("a").attr("href");
$(this).children("a").attr("href",old_link+".NewInput_"+$modalNumber);
$(this).children("a").attr("href",".NewInput_"+$modalNumber);
});
removeInput();
checkMultipleInput();