1

ユーザーが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>
4

0 に答える 0