JQuery tabs()方法问题,选项卡创建

时间:2013-08-06 09:16:07

标签: javascript jquery asp.net jquery-ui

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

以下是我正在尝试的代码,当我尝试使用Chorme Dev.tool进行调试时发现错误“没有这样的方法'添加'用于标签小部件实例”并且我发现了“tabsDiv.tabs(”add“,'#main ',pages [i] [0]);“这不再起作用,因为新版本的JQuery不推荐使用“add”方法。 谁能帮助我找到克服这个问题的方法?

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

谢谢, RAAM

1 个答案:

答案 0 :(得分:4)

从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");