如何从ajax调用中获取视图后设置活动选项卡?

时间:2017-05-07 15:59:48

标签: javascript jquery ajax twitter-bootstrap bootstrap-tabs

我尝试在从ajax调用中获取视图后为active tab选项卡设置bootstrap 3,但它无效。

视图是这样的:

<div class="portlet light ">
    <div class="portlet-title tabbable-line">
        <div class="caption">
            <i class="icon-globe font-dark hide"></i>
            <span class="caption-subject font-dark bold uppercase">TODAY</span>
        </div>
        <ul id="tab" class="nav nav-tabs">
            <li class="active">
                <a href="#tab_1_1" class="active" data-toggle="tab"> Collections </a>
            </li>
            <li>
                <a href="#tab_1_2" data-toggle="tab"> Activities </a>
            </li>
        </ul>
    </div>
    <div class="portlet-body">
        <!--BEGIN TABS-->
        <div class="tab-content">
            <div class="tab-pane active" id="tab_1_1">

以下是脚本:

<script type="text/javascript">
function load_page() 
{


    $.ajax(
        {
        url: 'notification_table/',
        type: 'GET',
        dataType: 'html',
        }).done(
                function(data)
                {
                $('#home_view').html(data);
                }
                );

    $('.nav-tabs a[href="#tab_1_2"]').tab('show');
}

 window.onload = function () 
 {
    load_page();
    setInterval(function () {
    load_page(); }, 5000);
 }
</script>

正如您所看到的那样,我尝试$('.nav-tabs a[href="#tab_1_2"]').tab('show');并尝试了$('#tab a[href="#tab_1_2"]').tab('show');,但两者都无效。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

我认为您可能会寻找“通过AJAX加载内容后jQuery不起作用”。 jQuery doesn't work after content is loaded via AJAX

我之前修改了我的代码,但我忘了我做了什么。

答案 1 :(得分:0)

尝试仅在class="active"中使用li,而不是anchor tag,几乎一切正确。

 <li class="active">
     <a href="#tab_1_1" data-toggle="tab"> Collections </a>
 </li>