未捕获的TypeError:$(...)。tabs不是一个函数

时间:2015-07-02 08:46:25

标签: javascript jquery html asp.net webforms

我认为jquery有一个奇怪的问题我在页面加载时遇到了这个异常 这是我的标记:

'value' => function($data) {
    //do here whatever you want
    return CHtml::tag("div",array(),"<span>".$data["rnames"]."</span>");
}

这是导致错误的函数

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<link href="../Layouts/en-us/css/custom.css" rel="stylesheet" />

<link href="../Layouts/en-us/css/jquery-ui.css" rel="stylesheet" />



<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script src="../ckeditor/ckeditor.js"></script>
<script src="../ckeditor/adapters/jquery.js"></script>
<script src="/Layouts/en-us/js/jquery-ui.min.js"></script>
</asp:Content>

Layouts和jquery的所有相对路径都是从另一个标记中复制而来的,该标记非常正常,没有错误

2 个答案:

答案 0 :(得分:6)

我可以看到你正在加载jquery两次,所以试着删除那个

<script src="/Layouts/en-us/js/jquery-ui.min.js" />

并且仅保留 -

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" />

然后使用下面的代码代替你的函数(首先检查这个函数的变化然后尝试删除那个jquery-ui.min.js)

$( document ).ready(function() {
        $("#tabs").tabs();
        if ($("#ListBoxPages").val() == null) {
            $("#tabs").css("display", "none");
        }
        $("#ListBoxPages").change(function () {
            $("#tabs").css("display", "block");
        });
});

答案 1 :(得分:1)

$(“#tabs”)。tabs();需要Jquery.UI仅包含

<script src="/Layouts/en-us/js/jquery-ui.min.js" />

或使用CDN

<scriptsrc="https://code.jquery.com/ui/1.12.1/jquery-ui.js"integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30="crossorigin="anonymous"></script>