Ich habe jetzt eine funktionierende JavaScript-Autocomplete-Funktion, dank der Hilfe von vielen von Ihnen. Jetzt möchte ich die Funktion wiederverwendbar machen. Es gibt drei Variablen, die für jede Instanz der Funktion angegeben werden müssen, wie unten gezeigt. Was ich nicht tun kann, ist diese Funktion mit verschiedenen Werten für diese drei Variablen zu instanziieren.Wie generische (wiederverwendbare) JavaScript-Autocomplete-Funktion erstellen
Hier ist mein HTML-Feld:
<div class="ui-widget">
Text or Value:
<input type="text" id="dotmatch" />
</div>
Und hier ist der JavaScript-Code, den ich in seinem eigenen Js behalten wollen Datei:
var matchFieldName = 'dotmatch';
var resultFieldName = 'dotnumber';
var lookupURL = "/AutoSuggestJSTest/AutoSuggest.asmx/DOTList";
$(function() {
$('#' + matchFieldName).autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: lookupURL,
contentType: 'application/json',
dataType: "json",
data: JSON.stringify({ prefixText: request.term, count: 20 }),
success: function(data) {
var output = jQuery.parseJSON(data.d);
response($.map(output, function(item) {
return {
label: item.Label + "(" + item.Value+ ")",
value: item.Value
}
}));
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 2,
select: function(event, ui) {
$('#' + resultFieldName).val(ui.item.value);
return ui.item.label;
}
});
});
Ich versuche, .data ("autocomplete") hinzuzufügen . Wenn Sie helfen können, finden Sie unter: http://stackoverflow.com/questions/8330096/jquery-reusable-autocomplete-function – Cymbals