我正在尝试将Jquery添加到SharePoint 2013 Visual webpart。我已将脚本文件放在layouts文件夹中,并且我能够在我的ascx中引用它们,但它无法识别任何jquery语法。
<script src="../_layouts/15/jquery-2.1.0.min.js"></script>
<script src="../_layouts/15/jquery-ui-1.10.4.min.js"></script>
<script>
$(function () { $("#accordian").accordion(); });//not recognized
</script>
任何建议都将受到赞赏。
由于
修改
当我尝试运行它时,我得到错误:&#39; jQuery&#39;未定义。当我调试时,它在UI脚本文件中,所以看起来它正在加载jQuery-UI而不是主jQuery脚本。 (也许?)
修改
实际问题原来是我的jQuery文件格式不正确。 @Moderator - 请删除
答案 0 :(得分:4)
您可能希望将jQuery文件放在Layouts中的特定文件夹中,以免混淆Layouts目录。
然后你可以简单地引用你的jQuery文件:
<SharePoint:Scriptlink ID="jQuery" runat="server" Name="MyWebPart/jquery-2.1.0.min.js" Language="javascript" />
<SharePoint:Scriptlink ID="jQueryUI" runat="server" Name="MyWebPart/jquery-ui-1.10.4.min.js" Language="javascript" />
因此,您的文件将位于服务器上的以下位置:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\MyWebPart\jquery-2.1.0.min.js
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\MyWebPart\jquery-ui-1.10.4.min.js
答案 1 :(得分:2)
这样做
<link href="/_layouts/15/SBBJobBox/css/SBB/jquery-ui-1.10.3.custom.css" rel="stylesheet" />
<script src="/_layouts/15/SBBJobBox/js/jquery-1.9.1.js"></script>
<script src="/_layouts/15/SBBJobBox/js/jquery-ui-1.10.3.custom.min.js"></script>
答案 2 :(得分:1)
如果控制台在sharepoint中显示以上消息。而不是$(document).ready()函数 使用_spBodyOnLoadFunctionNames.push();
_spBodyOnLoadFunctionNames.push("myFunctionName");//this function called during page load
function myCustomName(){
alert('a');}
或者可能是这个
var j = jQuery.noConflict();
ExecuteOrDelayUntilScriptLoaded(run, "sp.js");
function run(){j('#selector').method();}