我正在尝试让 jQuery UI AutoComplete 小部件与 WebForms 应用程序中的远程数据源一起工作。我成功调用了我的 Web 服务,但控件没有弹出包含返回项目的列表。
这是我的标记:
<p>
<label for="birds" class="fieldLabel">Company:</label>
<input id="existingProgramCompanyName" type="text" style="width: 350px" />
</p>
这是我的脚本:
$("#existingProgramCompanyName").autocomplete({
source: "/Services/ProgramListServices.asmx/FilteredProgramList",
minLength: 3,
select: function (event, ui) {
alert('Got it!');
}
});
每当我过去这样做时,我最大的问题是以正确的格式返回数据。AutoComplete 小部件需要 JSON,因此我花了相当多的时间让我的代码返回有效的 JSON。这是从我的 Web 服务返回的实际字符串:
{
"Companies":[{"Id":"1","Value":"First","Label":"First"},
{"Id":"2","Value":"Second","Label":"Second"},
{"Id":"3","Value":"Third","Label":"Third"}],
"HasData":true,"Message":"","Success":true
}
那是有效的JSON吗?
该控件正确显示了小动画加载图像。我的 Web 服务正在被调用,并且返回时没有错误。但是 AutoComplete 控件永远不会弹出列表。
到目前为止,有没有人看到我所拥有的任何问题?尝试解决此问题的下一步是什么?