我有一个自动完成脚本,它可以在用户键入 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>