PrestaShop:hide/show 付款方式(如果存在增值税)

PrestaShop: hide/show payment method if VAT exists

我想隐藏付款方式并仅在客户输入增值税号时显示。 我有这个代码:

<input type="text" id="vat_number"/>
<a class="universalpay" title="Invoice">INVOICE PAYMENT</a>

JS

$(document).ready(function(){
    $("a[title='Invoice']").hide();

    $('#vat_number').keyup(function(){
        if($(this).val().length !=0){
            $("a[title='Invoice']").show();
        }
        else
        {
           $("a[title='Invoice']").hide();      
        }
    })
});

但问题是,当有人按下 "Accept the terms & condition" 时,它会重新加载付款方式,然后显示 agian。

我怎样才能强制隐藏它直到增值税填满?

您可以使用ajaxComplete方法:

$(document).ajaxComplete(function(){
    // Check if we are in order page
    if($('body').attr('id') == 'order'){
         if($('#vat_number').val().length != 0){
             $("a[title='Invoice']").show();
         } else {
             $("a[title='Invoice']").hide();
         }

    }
});