安装jquery包后出错

时间:2012-11-14 08:23:14

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

我创建了一个非常小的mvc4互联网应用程序,在主页上有一个自动完成文本框。一切正常,直到我使用nuget包管理器更新jquery到版本1.8.2,从那时起我被这个函数抛出Microsoft JScript runtime error: Object doesn't support this property or method错误:

function reduce( elem, size, border, margin ) {
    $.each( side, function() {
    size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;
        if ( border ) {
            size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;
        }
        if ( margin ) {
            size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;
        }
    });
    return size;

jquery-ui-1.8.20.js文件中。

这就是我在_Layout.cshtml页面中调用我的脚本和样式的方式:

@Styles.Render("~/Content/css")
@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@RenderSection("scripts", required: false)

以及带有文本框的主页:

  @using (Html.BeginForm("AutoComplete", "Home", FormMethod.Get, new { style = "text-align: center;" }))
{
    <input  type="text"  id="autocomplete"  name="key"  data-autocomplete=" @Url.Action("AutoCompleteData", "Home")"  /> 
}
@section scripts{
    <script type="text/javascript">
        $(document).ready(function () {
            $('#autocomplete').each(function () {
                $(this).autocomplete({
                    source: $(this).attr('data-autocomplete')
                });
            });
        });
    </script>
}

我尝试更改脚本和样式调用的顺序,但它没有帮助 相同的代码在更新前完美运行 任何帮助将不胜感激。

修改 我下载了最新的jquery-ui文件并将它们添加到我的项目中。我现在没有收到任何错误,但在文本框中键入内容时,它看起来像这样:autocomplete
(建议隐藏文本框的一部分,子弹可见), 刷新后,建议很好,但子弹仍然可见。

2 个答案:

答案 0 :(得分:0)

.curCSS()已被弃用了一段时间,现在已经从jQuery中删除了 必须用.css()方法替换它。尝试使用最新版本的jQuery UI 见http://bugs.jquery.com/ticket/11921

答案 1 :(得分:0)

所以我下载了最新的jquery文件并替换了nuget安装的文件,没有运气! 最终我复制了内容目录,脚本目录形成了一个新的mvc4项目,一切正常。