具有基于默认下拉选择调用的函数

时间:2014-01-14 14:13:45

标签: javascript jquery drop-down-menu

如果在下拉字段中选择了除美国以外的国家/地区,我正尝试使用Javascript将客户重定向到其他网页。我得到了它的工作,但注册的客人在下拉列表中有他们的国家默认值,除非用户切换它,否则不会调用该函数。

这是现在的代码

$(document).ready(function(){
    var una = "ok";
    $("#shipping-country").change(function(event){                   
    if(($("#shipping-country").val() != "US") &&(una=="ok")){
            iCheckout.insertForm();
        $("#iCheckoutForm").submit();
    }

});
});

如果默认情况下已选择美国以外的其他国家/地区,我该怎样重写此内容才能重定向?

2 个答案:

答案 0 :(得分:0)

像这样

$(document).ready(function(){
    var una = "ok";

    $("#shipping-country").change(function(event){                   
        if(($("#shipping-country").val() != "US") &&(una=="ok")){
                iCheckout.insertForm();
            $("#iCheckoutForm").submit();
        }

    });

    if ($("#shipping-country").val() != 'US') {
        // your redirect code here
        window.location.replace("http://stackoverflow.com");
    }
});

答案 1 :(得分:0)

您似乎想要检查他们的默认值是否不是美国的页面加载以及下拉列表值的变化?

我会稍微重构一下:

$(document).ready(function(){

    var una = "ok";
    var checkIfUS = function() {
        if(($("#shipping-country").val() != "US") &&(una=="ok")){
            iCheckout.insertForm();
            $("#iCheckoutForm").submit();
        }
    };

    checkIfUS(); // check if it should redirect after dom load

    $("#shipping-country").change(function(event){                   
        checkIfUS(); // check if it should redirect on form change
    });
});

或者,如果您使用javascript填充下拉列表,则可以将checkIfUS()作为回调添加到填充下拉列表。