2012-11-14 198 views
0

我创建了一个非常小的mvc4互联网应用程序,在主页上有一个自动完成文本框。一切正常,直到我使用的NuGet软件包管理器1.8.2版本更新jQuery的,从那以后,我得到一个Microsoft JScript runtime error: Object doesn't support this property or method错误此函数抛出:在jquery-ui-1.8.20.js文件错误安装jquery包后

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; 

这是我叫我在_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
(建议隐藏文本框的一部分,子弹是可见的), 刷新后建议位于罚款,但子弹仍然可见。

回答

0

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

0

.curCSS()已被弃用一段时间,现在已经被取出jQuery。
它必须由.css()方法替换。尝试使用最新版本的jQuery UI。
请参阅http://bugs.jquery.com/ticket/11921