2016-09-05 3 views
0

Ich möchte eine Zahlungsmethode verbergen und nur anzeigen, wenn der Kunde eine Umsatzsteuer-Identifikationsnummer eingegeben hat. Ich habe diesen Code:PrestaShop: Zahlungsmethode verbergen/anzeigen, wenn MwSt vorhanden ist

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

Aber Problem ist, dass, wenn jemand drücken Sie „Akzeptieren Sie die Bedingungen & Bedingung“ es die Zahlungsmethoden neu geladen, und es zeigt dann agian.

Wie kann ich es zwingen, sich zu verstecken, bis die Mehrwertsteuer erfüllt ist?

Antwort

2

können Sie die ajaxComplete Methode verwenden:

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

    } 
}); 
+0

Ihr Code funktioniert perfekt! Fügen Sie einfach $ hinzu ("a [title = 'Invoice']"). Hide(); vor dem if, so dass es sich von Anfang an verbirgt. – Stefan

+0

Dieses Snippet ist eine Ergänzung zu Ihrem '$ (document) .ready()', dort verstecken Sie sich von Anfang an :) – sarcom

Verwandte Themen