我有一个jQuery UI,它正在执行简单的自动完成功能。自动填充功能即将通过Web服务进行。
这是我的jQuery示例:
<script type="text/javascript">
$(document).ready(function () {
$('[id$="tbSearch"]').autocomplete({
url: '/WebService/SearchLookUp.asmx/ReturnEntity',
width: 300,
max: 10,
delay: 100,
cacheLength: 1,
scroll: false,
highlight: false
});
});
这是我的网络服务示例:
public class SearchLookUp : System.Web.Services.WebService
{
[WebMethod]
public string []ReturnEntity(string prefixText)
{
using (TestDataContext search = new TestDataContext())
{
var tr = from p in search.Entities
where p.Name.StartsWith(prefixText)
select p.Name;
return tr.ToArray<string>();
}
}
}
当我在浏览器中运行此Web服务并传递参数时:'ST'我得到了这些结果:
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<string>Steve</string>
<string>Star</string>
<string>Steve D</string>
<string>Star Route</string>
<string>Staffing</string>
<string>Strategic</string>
<string>Staci</string>
<string>Stevens</string>
<string>Starr</string>
</ArrayOfString>
现在的问题是,一旦我在文本框(tbSearch)上输入任何内容,我就会收到MS jScript错误:预期的对象
的jQuery-UI-1.8.11.custom.min.js
在此处:
{this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)}
答案 0 :(得分:0)
您可能需要检查自动完成对象的语法
基于此TextBox AutoComplete with ASP.NET and jQuery UI
构建 source:
方法来调用ajax,看起来您还需要指定要发送到Web服务的data: