我已经意识到,对于我的自动完成,我真的不需要使用 ajax 调用(我见过很多使用 ajax 调用的示例),我可以简单地使用以下内容:
$(document).ready(function () {
var myData = jQuery.parseJSON(getProjects());
$("#inputSearchProject.ClientID").autocomplete(myData);
});
其中,getProjects()
是一个小脚本,TheProjects
是一个属性,它使用我的自动完成的建议 JSON 字符串进行初始化。
<script type="text/javascript">
function getProjects() {
return '<%= this.TheProjects %>';
}
</script>
调试时,我注意到 myData 接收了值,但我仍然收到运行时错误:“Microsoft JScript 运行时错误:对象不支持属性或方法'自动完成'” - 即使我已经搜索过,我还没有找到回答这个问题。
编辑:我已经解决了错误(这是一个愚蠢的错误:)新手错误)
我已将代码更改为:
$(document).ready(function () {
var myData = jQuery.parseJSON(getProjects());
$("[id$='txtSearchProject']").keypress(function ()
{
$("[id$='txtSearchProject']").autocomplete(myData);
})
});
因为我希望仅当它检测到我在输入控件中编写了某些内容时才启动自动完成功能。你有什么建议为什么它不起作用?
谢谢大家的建议。我已经解决了我的问题,但仅限于我从您那里收到的提示。我将把我的一小段代码放在这里,也许有类似问题的人将来会发现它很有用:
$(document).ready(function () {
var myData = jQuery.parseJSON(getProjects());
$("[id$='txtSearchProject']").keypress(function ()
{
$("[id$='txtSearchProject']").autocomplete({ source: myData});
})
});
//我已经添加而不是 .autocomplete(my data) --->.autocomplete({ source: myData})