JQuery自动完成功能在回发后停止工作

时间:2012-08-30 23:05:13

标签: jquery-ui sharepoint-2010 jquery-ui-autocomplete

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

0 个答案:

没有答案