【问题标题】:JQuery tabs() method issue, tab creationJQuery tabs() 方法问题,标签创建
【发布时间】:2013-08-06 09:16:07
【问题描述】:

当我尝试为我的 ASP.Net 应用程序创建选项卡时,我试图找出 JQuery 的错误(我是 JQuery 的新手)..

下面是我正在尝试的代码,当我尝试使用 Chorme Dev.tool 进行调试时发现错误“没有这样的方法 'add' 用于选项卡小部件实例”,我发现“tabsDiv.tabs("add", '#main ', 页面[i][0]);"这不再起作用,因为“add”方法已从较新版本的 JQuery 中弃用。 谁能帮我想办法克服这个问题?

<script type="text/javascript">

    $(document).ready(function () {

        var pages = [
            ['Events', "/Listings.aspx", "/AddEvent.aspx", "UpdateOrDelete.aspx"],
            ['Performance', "/Performance.aspx"]
        ];

        var myPage = '<%=Request.Path %>';

        var tabsDiv = $('#masterTabsDiv');

    tabsDiv.tabs({
        select: function (event, ui) {
            document.location = pages[ui.index][1];
            return false;
        }
    });
    var indexToSelect = 0;

    for (var i = 0; i < pages.length; i++) {
        for (j = 0; j < pages[i].length; j++) {
            if (pages[i][j] == myPage) {
                indexToSelect = i;
                window.alert("set block 2");
                break;
            }
        }
        tabsDiv.tabs("add", '#main', pages[i][0]);
    }
    window.alert("set block 4");
    tabsDiv.find('li').removeClass('ui-tabs-selected ui-state-active');
    tabsDiv.find('li').eq(indexToSelect).addClass('ui-tabs-selected ui-state-active');
});
</script>

谢谢, 拉姆

【问题讨论】:

    标签: javascript jquery asp.net jquery-ui


    【解决方案1】:

    从 jQuery UI 1.10 开始,您需要向 DOM 添加一个新的 li 元素,然后调用 .tabs("refresh"),因此您的代码将类似于

    var tabsDiv = ('#masterTabsDiv');
    tabsDiv.find('ul').append("<li><a href='#newTab'>New Tab</a></li>");
    tabsDiv.append("<div id='newTab'>New content</div>");
    tabsDiv.tabs("refresh");
    

    【讨论】:

    • 谢谢你的回复,我明白了。我只是想知道这个功能是做什么的?我知道它正在添加标签,但是 document.location = pages[ui.index][1];意思是???抱歉,我是 JQuery 的新手。 tabsDiv.tabs({ select: function (event, ui) { document.location = pages[ui.index][1]; window.alert(document.location); return false; }
    • document.location 已被弃用很长时间,您应该改用window.location。看起来它正在做的是通过在单击选项卡时重定向浏览器来手动触发选项卡打开 - 但我不太确定。不过我认为您不需要它,您可以尝试仅使用 .tabs() 看看它是否停止工作吗?
    • 谢谢,关于这个的另一个澄清,我有这个页面数组 var pages = [ ['Events', "/Listings.aspx", "/AddEvent.aspx", "UpdateOrDelete.aspx" ], ['性能', "/Performance.aspx"] ];如何手动将其添加到
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签