多くの皆さんの助けを借りて、JavaScriptオートコンプリート機能が動作するようになりました。今私は関数を再利用可能にしたい。以下に示すように、関数の各インスタンスに3つの変数を指定する必要があります。私がどのように行うか分からないのは、これらの3つの変数の異なる値でこの関数をインスタンス化することです。ここでジェネリック(再利用可能)JavaScriptオートコンプリート関数の作成方法
は私のHTMLフィールドです:
<div class="ui-widget">
Text or Value:
<input type="text" id="dotmatch" />
</div>
そして、ここでは、私は、独自の.jsファイルに保存しておきたいJavaScriptコードです:
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;
}
});
});
これに.data( "autocomplete")を追加しようとしています。 。あなたが助けることができるなら、参照してください:http://stackoverflow.com/questions/8330096/jquery-reusable-autocomplete-function – Cymbals