2016-06-24 5 views
0

Ich brauche Hilfe, um eine jQuery-ui-Autocomplete-Funktion funktionieren zu lassen. Mein Code ist wie folgt:jquery-ui Autocomplete scheint nicht zu triggern?

<script src="/js/jquery.min.2.2.4.js"></script> 
<link rel="stylesheet" href="/js/jquery-ui/jquery-ui.min.css"> 
<script src="/js/jquery-ui/jquery-ui.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $('#sku').autocomplete({ 
     source: function(request, response){ 
      $.ajax({ 
       url: '/api.php', 
       type: 'POST', 
       data: { 
        function: 'skuAutocomplete', 
        data: { 
         skuAutocomplete: request 
        } 
       }, 
       error: function() { 
        alert('An error occurred connecting to server. Please check your network'); 
       }, 
       dataType: 'json', 
       success: function(json) { 
        if (json.status) { 
         response(json.data.skuAutocomplete); 
        }else{ 
         alert(json.message); 
        } 
       } 
      }); 
     }, 
     minLength: 3 
    }); 
}); 
</script> 
<input type="text" name="sku" id="sku"> 

Wenn ich das Textfeld eingeben beginnen, ich erhalte keine Netzwerkanfragen, oder Fehler in der Konsole ist.

Ich habe überprüft:

1: Dass die alle jQuery-Funktionen geladen werden, und keine der Dateien 404.

2: dass keine Fehler Laden der Seite erzeugt werden.

Ich bin mir nicht sicher, wohin ich als nächstes gehen soll, ich weiß nicht, wie ich diese Funktion auslösen soll, die von einer Kurzanleitung stammt. Jede Hilfe wird sehr geschätzt.

+0

Code in Ordnung zu sein scheint. Aus irgendeinem Grund musste ich die Autocomplete-Funktion in eine andere Funktion einbinden und diese Funktion aufrufen, um so zu funktionieren: 'function runAutocomplete() {// dein Autocomplete-Code}' 'runAutocomplete();' – Guillaume

+0

Wo finde ich Stick runAutocomplete? in einem On-Change-Ereignis im Eingabe-Tag? – user1955162

+0

nein, Sie nennen es einfach in Ihrem Javascript – Guillaume

Antwort

1

begegnete ich das gleiche Problem, und dies schien das Problem für mich zu lösen:

function runAutocomplete(element) { 
$(element).autocomplete({ 
    source: function(request, response){ 
     $.ajax({ 
      url: '/api.php', 
      type: 'POST', 
      data: { 
       function: 'skuAutocomplete', 
       data: { 
        skuAutocomplete: request 
       } 
      }, 
      error: function() { 
       alert('An error occurred connecting to server. Please check your network'); 
      }, 
      dataType: 'json', 
      success: function(json) { 
       if (json.status) { 
        response(json.data.skuAutocomplete); 
       }else{ 
        alert(json.message); 
       } 
      } 
     }); 
    }, 
    minLength: 3 
}); 
} 

runAutocomplete("#sku");