it-roy-ru.com

Uncaught TypeError: $ (...). Tabs не является функцией

Я думаю, что есть странная проблема с jquery, я получил это исключение при загрузке страницы Вот моя разметка:

<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>

вот функция, которая вызывает ошибку 

$(function () {
    $("#tabs").tabs();

    if ($("#ListBoxPages").val() == null) {
        $("#tabs").css("display", "none");
    }

    $("#ListBoxPages").change(function () {
        $("#tabs").css("display", "block");
    });

});

Все относительные пути к Layouts и jquery были скопированы из другой разметки, которая работает без ошибок 

5
Ibrahim Amer

Я вижу, что вы загружаете 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");
        });
});
5
Shirish

$ ( "#") Вкладки Вкладки (). требует 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>
1
Basit Raza