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