如果指示的下拉表单不存在,则不执行任何操作



我有一个脚本,该脚本根据他们以下拉式形式进行的选择重定向用户。该脚本正常工作,除了没有形式时。当不存在表单时,它会重定向用户。我认为这是因为代码的编写方式。它说,如果我们没有选择,请重定向。由于没有下拉表格,因此没有我们选择的我们。如果没有运输国家,我该如何重写以不定向?

$(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
});
});

如果条件将您的条件更改为:

if($("#shipping-country").length && ($("#shipping-country").val() != "US") &&(una=="ok")){

通过添加$("#shipping-country").length,只有在元素存在的情况下才会继续。

您只能用jQuery提高变更事件,如果元素不存在,它将不会提高:

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