博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery 闭包函数
阅读量:6431 次
发布时间:2019-06-23

本文共 6555 字,大约阅读时间需要 21 分钟。

hot3.png

$(function(){

var checkoutShipping = {

/*

** Choose Shipping Address 

*/

chooseAddress: function(){

$(".jq_chooseShippingAddress").on("change", function(){

var $form = $(this).closest("form");

if($(this).val() != -1) {

var shippingAddressID = $(this).val(),

data = $.parseJSON($form.find("#shippingAddressJSON").text());

var shippingAddress = data[shippingAddressID];

$form.fillForm(shippingAddress);

$form.find("#sgAddressBookId").val($(this).val());

/*$form.find(".jq_singleShippingAddressForm").disabledForm(true);*/

}else {

/*$form.find(".jq_singleShippingAddressForm").disabledForm(false);*/

$form.find("#sgAddressBookId").val("");

$form.clearForm();

$(this).val("-1");

}

defaultAddresss();

});

}

};

checkoutShipping.chooseAddress();

/*

** Show add new address popup in muliple shipping address 

*/

var MulipleShippingAdress = {

settings: {

$currentSelect: "",

$currentSelectVal: ""

},

init: function(){

this.bindEvent();

this.submitShippingAddressForm();

this.submitMultipleShippingAddressForm();

},

bindEvent: function(){

var settings = this.settings;

// show shipping address popup

$(".jq_addNewAddress").on("change", function(event){

event.preventDefault();

settings.$currentSelect = $(this);

settings.$currentSelectVal = $(this).closest(".form-group").find("var[name=selectVal]");

if($(this).val() == -1){

$("#modalShippingAddress").modal("show");

}else {

settings.$currentSelectVal.text($(this).val());

}

});

// bind model hidden event 

$("#modalShippingAddress").on("hidden.bs.modal", function(event){

event.preventDefault();

$(this).find("form").clearForm();

settings.$currentSelect.val(settings.$currentSelectVal.text());

});

// bind modal cancel event

$("#modalShippingAddress .jq_cancel").on("click", function(event){

event.preventDefault();

$(this).closest(".modal").modal("hide");

});

},

submitShippingAddressForm: function(){

var settings = this.settings;

//ajax submit

$("#saveNewAddress").on("click", function(event){

event.preventDefault();

$(this).addClass("disabled");

$(this).attr("disabled", "disabled");

var address = $("#addNewShippingAddressForm #shippingFirstName").val() + ", " +

$("#addNewShippingAddressForm #shippingLastName").val()+ ", " +

$("#addNewShippingAddressForm #shippingAddress1").val();

var $this = $(this);

//clear error message

$('#addNewShippingAddressForm').find(".has-error").removeClass("has-error");

$('#addNewShippingAddressForm').find(".form-group label.error").detach();

                $('#addNewShippingAddressForm').ajaxSubmit({

                    success: function(data){

                        data = $.parseJSON(data);

                        if(typeof(data.status) !== undefined && data.status) {

                            // add shipping address option

                            $(".jq_addNewAddress").find("option:last").before('<option value="'+data.addressId+'" >'+ address + '</option>');

                            

                            settings.$currentSelectVal.text(data.addressId);

                            $("#modalShippingAddress").modal("hide");

                        } else {

                            //set error message on popup page

                            for ( var key in data.error ){

                                var $formGroup = $("#"+key).closest(".form-group");

                                var contentKey = data.error[key];

                                var contentValue = contentKeyParser(contentKey);

                                $formGroup.addClass("has-error");

                                $formGroup.append('<label class="error">'+contentValue+'</label>');

                             }

                         }

                         $this.removeClass("disabled");

                         $this.removeAttr("disabled");

                        

                     }

                });

});

},

submitMultipleShippingAddressForm: function(){

/*

* Bind Event

* submit multiple shipping address form 

*/

$(".jq_multipleShippingAddressSubmit").on("click", function(event){

event.preventDefault();

var isSubmit = true,

errorMap = $.parseJSON($("#multipleShippingAddressForm").find("var[name=errorMessage]").text());

$("#multipleShippingAddressForm .jq_addNewAddress").each(function(){

var value = $(this).val();

if( $.trim(value).length === 0 || value == -1 ) {

var $formGroup = $(this).closest(".form-group");

$formGroup.addClass("has-error");

if($formGroup.find("label.error").size() > 0){

$formGroup.find("label.error").html(errorMap.empty);

}else {

$formGroup.append('<label class="error">'+errorMap.empty+'</label>');

}

isSubmit = false;

} else {

$(this).closest(".form-group").removeClass("has-error");

$(this).closest(".form-group").find("label.error").detach();

}

});

if(isSubmit){

$("#multipleShippingAddressForm").submit();

}

});

}

};

var defaultAddresss = function(){

var saveDefaultShippingAdressCheck = $("#saveDefaultShippingAdressCheck");

$('.form-group').on('click',saveDefaultShippingAdressCheck.parent().next(),function(){

if(saveDefaultShippingAdressCheck.attr('checked')){

saveDefaultShippingAdressCheck.val('true');

}else{

saveDefaultShippingAdressCheck.val('false');

}

});

if($('#defaultShippingGroupId').val() != undefined && $('#defaultShippingGroupId').val() != "" && $('#defaultShippingGroupId').val() == $("#sgAddressBookId").val()){

saveDefaultShippingAdressCheck.attr('checked',true).val('true').parent().next().addClass('checked');

}else{

saveDefaultShippingAdressCheck.attr('checked',false).val('false').parent().next().removeClass('checked');

}

}

/*

* Bind Event

* submit single shipping address form 

*/

$(".jq_shippingAddressSubmit").on("click", function(event){

event.preventDefault();

$("#createShippingAddressForm").submit();

});

/*

* Bind Event

* submit shipping method form 

*/

$(".jq_shippingMethodSubmit").on("click", function(event){

event.preventDefault();

$("#applyShippingMethodForm").submit();

});

/*

* Bind Event

* submit back to shipping address form

*/

$(".jq_backToShippingAddressFromMethod").on("click", function(event){

event.preventDefault();

$("#backToShippingAddressForm").submit();

});

/*

* Bind Event

* go to multiple shipping address form

*/

$(".jq_goToMultipleShippingAddressFrom").on("click", function(event){

event.preventDefault();

$("#shipToMultipleAddressForm").submit();

});

/*

* Bind Event

* go to single shipping address form

*/

$(".jq_goToSingleShippingAddressFrom").on("click", function(event){

event.preventDefault();

$("#shipToSingleAddressForm").submit();

});

/*

* Bind Event

* submit back to shipping address form

*/

$(".jq_backToCart").on("click", function(event){

event.preventDefault();

$("#backToCartFrom").submit();

});

MulipleShippingAdress.init();

    function contentKeyParser(key) {

        // because key is like xx.xx.xx so not use jquery

        var domKey = document.getElementById(key);

        var value = $(domKey).text() || "";

        return value;

    }

    

    /**

     * for highlight navigation bar

     */

    (function highlightNavigationBar() {

        var $cartridgeType = $(".jq_checkoutCartridgeType");

        var cartridgeType = $(".jq_checkoutCartridgeType").text();

        var navTab = $("." + "jq_" + cartridgeType);

        if (!navTab.hasClass("active")) {

            navTab.addClass("active");

        }

    })();

});

转载于:https://my.oschina.net/u/876290/blog/391430

你可能感兴趣的文章
Intel VT-x处于禁用状态
查看>>
用什么软件可以修改PDF文件,软件的操作方法
查看>>
Windows下安装Django-使用Pycharm创建项目
查看>>
如何精简企业主数据“裹脚布”
查看>>
Pointer on C
查看>>
电子名片价值篇,让您了解不一样的电子名片
查看>>
& 号和管道符号(|)在不同场景下的使用方法
查看>>
curl 浏览器模拟请求实战
查看>>
多个VLAN中的vrrp备份组配置举例
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(六)
查看>>
interlib在tomcat7.0的安装
查看>>
水晶报表在大型WEB内部管理系统里的滑铁卢
查看>>
我的友情链接
查看>>
Git学习
查看>>
trove 基于 centos7 制作 mysql5.6 镜像
查看>>
结合i节点和数据块分析linux中软链接和硬链接的区别
查看>>
Heartbeat crm的配置
查看>>
Stream
查看>>
我的友情链接
查看>>
Windows Server 2012_Install_Guide
查看>>