jquery autoComplete,List 作为Source

我有文本框名称txtEmailList,我提供了自动完成列表,

 

自动完成的脚本

 $('#txtEmailList').autocomplete({ source: function(request, response) { // this is the ajax call, which is running successfully var msg = Assessments_JqueryAutoComplete.AutoComplete(request.term).value; //(ajaxpro functions) response(msg.d); } }); 

输出将像这样(在firebug中显示为plain / text),如何将此数组附加到source属性。 (我不能使用$ .ajax方法,因为我需要使用ajaxpro作为office规则),所以我从ajax调用返回数组列表,如何绑定自动完成。

[“List 1”,“List 2”,“List 3”,“List 4”]; / * //这是来自jquery的输出响应(来自firebug)

 [AjaxPro.AjaxMethod(HttpSessionStateRequirement.ReadWrite)] public List AutoComplete(string query) { List objLisItmes = new List(); objLisItmes.Add("List 1"); objLisItmes.Add("List 2"); objLisItmes.Add("List 3"); objLisItmes.Add("List 4"); return objLisItmes; } 

这是Response头的firebug输出

Cache-Controlno-cache Content-Length40 Content-Typetext / plain; charset = utf-8 DateWed,2012年3月7日10:45:37 GMT Expires-1Pragmano-cache

而不是返回一个List。 我会返回一个字符串数组:

 [AjaxPro.AjaxMethod(HttpSessionStateRequirement.ReadWrite)] public string[] AutoComplete(string query) { List objLisItmes = new List(); objLisItmes.Add("List 1"); objLisItmes.Add("List 2"); objLisItmes.Add("List 3"); objLisItmes.Add("List 4"); return objLisItmes.ToArray(); } 

而不是使用

 $('#txtEmailList') 

尝试使用

 $('input[id$="txtEmailList"]') 

由于您使用的是服务器控件TextBox,因此您的ID很可能最终为“parentID1_parentID2_txtEmailList”。 上面的代码将获取具有以“txtEmailList”结尾的ID的输入。

这是我在测试项目中的表现,它正在发挥作用。 当然我没有使用AjaxPro,所以我不确定你是怎么做的,而是它可能会给你一些想法。

  

不应该是:

 $('#txtEmailList').autocomplete({source: function(request, response) { // this is the ajax call, which is running successfully var msg = Assessments_JqueryAutoComplete.AutoComplete(request.term).value; //(ajaxpro functions) response(msg); } }); 

如果没有,我建议你使用console.log(msg)来分析响应对象。

只需确保您的AJAX调用返回有效的字符串格式,就像这个虚拟示例一样 。 将其存储在变量中。 然后使用它来定义source属性,如下所示:

 var availableValues = ["List 1","List 2","List 3","List 4"]; // var msg = Assessments_JqueryAutoComplete.AutoComplete(request.term).value; $( "#txtEmailList" ).autocomplete({ source: availableValues }); 
Interesting Posts