ユーザーが2文字を入力した後に選択するオプションを表示するという意味で、正常に機能するオートコンプリートスクリプトがあります。ここでの問題は、選択が行われ、テキスト フィールドが入力された後、スクリプトが停止することです。たとえば、指定されたエントリから選択し、何らかの理由でテキスト フィールドをクリアした場合、再度入力を開始すると、オートコンプリートには何も表示されません。
いくつかのドロップダウン コントロールから値を選択するたびにフォームがポストバックを実行し、ポストバックがトリガーされるとスクリプトが停止することに気付きました。各ポストバック後にスクリプトを実行する方法はありますか?
誰かが正しい方向を示すことができれば、本当に感謝しています.
ありがとう。
<script language="javascript" src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script language="javascript" src="/Scripts/jquery.SPServices-0.7.1a.min.js" type="text/javascript"></script>
<script language="javascript" src="/Scripts/jquery-ui-1.8.22.custom.min.js" type="text/javascript"></script>
<link href="/Scripts/jquery-ui-1.8.22.custom.css" rel="stylesheet" type="text/css"/>
<script language="javascript" type="text/javascript">
//Wait ##### seconds for form to load before calling the function.
window.onload = function(){
window.setTimeout(readyCall, 1000);
}
function readyCall(){
//Variable for Array where Title column values will be pushed to.
var Requestors = [];
//Variable for the Requestor Text Field.
var RequestorField = "input[id$='FormControl0_V1_I1_T2']"
//Call the SPServices library.
$().SPServices({
operation: "GetListItems",
listName: "Requestor",
CAMLViewFields: "",
async: false,
completefunc: function (xData, Status){
$(xData.responseXML).SPFilterNode("z:row").each(function(){
Requestors.push($(this).attr("ows_Title"));
});
}
});
//Input field from form.
$(RequestorField).autocomplete({
source: Requestors,
minLength: 3,
focus: function(event, ui){
$(RequestorField).val(ui.item.value);
return false;
}
});
}
</script>