Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我会收到一封“信”;对象不支持自动完成jquery方法;实现我的自动完成时出现运行时错误?_Javascript_Jquery_Autocomplete_Runtime Error - Fatal编程技术网

Javascript 为什么我会收到一封“信”;对象不支持自动完成jquery方法;实现我的自动完成时出现运行时错误?

Javascript 为什么我会收到一封“信”;对象不支持自动完成jquery方法;实现我的自动完成时出现运行时错误?,javascript,jquery,autocomplete,runtime-error,Javascript,Jquery,Autocomplete,Runtime Error,我已经意识到,对于我的autocomplete,我真的不需要使用ajax调用(我已经看到许多使用ajax调用的示例),我可以简单地使用以下内容: $(document).ready(function () { var myData = jQuery.parseJSON(getProjects()); $("#inputSearchProject.ClientID").autocomplete(myData); }); 其中,getProjects()是一个小脚本,TheP

我已经意识到,对于我的autocomplete,我真的不需要使用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>
因为我希望autocomplete仅在检测到我在输入控件中写入了某些内容时启动。你有什么建议为什么它不起作用吗


谢谢大家的建议。我已经解决了我的问题,但只是根据你给我的建议。我将把我的一小段代码放在这里,也许有类似问题的人将来会发现它很有用:

$(document).ready(function () {
 var myData = jQuery.parseJSON(getProjects());
 $("[id$='txtSearchProject']").keypress(function () 
  {
       $("[id$='txtSearchProject']").autocomplete({ source: myData});
  })
});

//我添加了而不是.autocomplete(我的数据)--->.autocomplete({source:myData})

您缺少jQuery UI脚本文件

在这里获取:


您缺少jQuery UI脚本文件

在这里获取:


根据您的来源,我猜您正在尝试使用jQueryUI插件进行自动完成。您确定jqueryUI的源代码包含在jQueryInclude之后的页面顶部吗?现在我的asp文件中包含了以下脚本:(这是我之前向您展示的小代码)(另外2个是jqueryUI的源代码。脚本的顺序必须正确。第一个脚本include应该是你的jQuery脚本include。第二个脚本应该是jqueryUI。所有其他脚本都应该在这些之后。你说得对,这实际上解决了我的错误,谢谢。但是自动完成仍然不起作用。你有什么建议吗(补充?:)我需要更多信息来说明为什么autocomplete不起作用,但我的第一个猜测是,要么是您的数据格式不正确,要么是有其他错误阻止了autocomplete方法的执行。如果您使用的是Firebug或Chrome,您应该能够查看控制台日志以获得更好的错误定义。根据您的来源,我将我猜你正在尝试使用jQueryUI插件进行自动完成。你确定jQueryUI的源代码包含在jQuery包含后的页面顶部吗?现在我的asp文件中包含了以下脚本:(这是我之前向你展示的小代码)(另外2个是jqueryUI的源代码。脚本的顺序必须正确。第一个脚本include应该是你的jQuery脚本include。第二个脚本应该是jqueryUI。所有其他脚本都应该在这些之后。你说得对,这实际上解决了我的错误,谢谢。但是自动完成仍然不起作用。你有什么建议吗(补充?:)我需要更多信息来说明为什么autocomplete不起作用,但我的第一个猜测是,要么是您的数据格式不正确,要么是有其他错误阻止了autocomplete方法的执行。如果您使用的是Firebug或Chrome,您应该能够查看控制台日志以获得更好的错误定义。我刚刚添加了2你链接中的.js脚本(顺便说一句,谢谢:),但还是一样。我的inputSearchProject-它是html输入。我应该更改控件吗?我很抱歉这些问题,但这是我第一次使用jquery:@Cropcircles查看Joel关于脚本顺序的评论。我刚刚从你的链接中添加了2.js脚本(顺便说一句,谢谢你:)),但还是一样。我的inputSearchProject-它是一个html输入。我应该改变控制吗?对于这些问题我很抱歉,但这是我第一次使用jquery:)@Cropcircles请参阅Joel关于脚本顺序的评论。
$(document).ready(function () {
 var myData = jQuery.parseJSON(getProjects());
 $("[id$='txtSearchProject']").keypress(function () 
  {
       $("[id$='txtSearchProject']").autocomplete({ source: myData});
  })
});