JQueryUI自动完成功能在本地运行,而不是在服务器上运行。 (MVC 4)

时间:2013-04-16 19:21:58

标签: jquery-ui asp.net-mvc-4

经过数小时的故障排除后,看来jqueryui自动完成功能在我正在部署我的应用程序的服务器上无效,但它正在我的本地计算机上运行。

我测试了Ajax调用,但它们运行正常。我能够获得内容等......

我可以使用ui控件中的日期选择器,但不能自动完成。

可以肯定的是,我使用了问题底部的代码。此代码适用于我的本地但不适用于服务器。我假设自动填充功能未正确加载。

如果您熟悉此问题,请帮助并告诉我什么是一个好的选择。

我正在测试的实际页面是http://StagKingAdmin.com

                        var availableTags = [
                        "ActionScript",
                        "AppleScript",
                        "Asp",
                        "BASIC",
                        "C",
                        "C++",
                        "Clojure",
                        "COBOL",
                        "ColdFusion",
                        "Erlang",
                        "Fortran",
                        "Groovy",
                        "Haskell",
                        "Java",
                        "JavaScript",
                        "Lisp",
                        "Perl",
                        "PHP",
                        "Python",
                        "Ruby",
                        "Scala",
                        "Scheme"
                        ];
                        $("input#searchterm").autocomplete({
                            source: availableTags
                        });

3 个答案:

答案 0 :(得分:1)

听起来服务器上的页面加载时间比本地时间长,所以在调用.autocomplete()时,DOM可能没有完全加载。

您的自动填充调用是否包含在$(document).ready()函数中?如果没有,那应该是。

$(document).ready(function() {
    $("input#searchterm").autocomplete({
       source: availableTags
    });
});

这将确保在调用input#searchterm.autocomplete()元素可用。

答案 1 :(得分:0)

根据我在给定网址中看到的内容,您的问题与此qustion

相关

在自动完成设置之前添加以下脚本

jQuery.fn.extend({
     propAttr: $.fn.prop || $.fn.attr
});

还要在相对网址之前添加/

var autoCompleteUrl_Events = '/Events/Find/';

希望这会有所帮助。

答案 2 :(得分:0)

有同样的问题,在本地工作而不在远程服务器上工作。 当我停止在页面底部包含自动完成脚本并将其与jquery一起包含在<head>内时,它就开始工作了。