使用动态命名分配动态创建的Jquery选项卡

时间:2012-12-31 01:12:55

标签: javascript jquery jquery-ui tabs

我正在使用jquery ui标签动态创建动态标签,这些标签将在没有任何内容的情况下开始。从我可以告诉我的代码是构建所有内容并将其放在适当的位置,但jquery并没有将它们识别为标签。如何识别页面加载后创建的新选项卡?

html代码:

    <div class="main">
    <div>
        <button id="new">button</button>
    </div>
    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">View1</a></li>
            <li><a href="#tabs-2">View2</a></li>
            <li id="createView"><a href="null">Create New</a></li>
        </ul>
        <div id="tabs-1">
            <p>something on this page</p>   
        </div>
        <div id="tabs-2">
            <div>
                <p>something else on this page</p>
            </div>
        </div>
    </div>
</div>​​​​​​​​

Javascript:

//Tabs functionality
    $('#tabs').tabs();

    //Create new view


    var tabNum = 3;

    $('#new').click(function() {

        $('#tabs ul').append('<li>' + '<a href="' + '#tabs-' + tabNum + '">' + 'newitem' + '</a>' + '</li>');
        $('#tabs').append('<div id="' + 'tabs-' + tabNum + '">' + '<div>new</div>' + '</div>');
        var NewViewNum = 'tabs-' + tabNum;
        $(NewViewNum).focus();

        tabNum++;

    });​

1 个答案:

答案 0 :(得分:3)

jQuery UI标签有一个refresh方法,您可以使用per the documentation

尝试致电:

$("#tabs").tabs("refresh");