douquanhui5735 2015-08-14 10:31
浏览 166

显示动态添加的选项卡jquery选项卡

I'm creating a web-application in which user adds a tab and put his content. This tabs are dynamically created. I searched for it on google and tried for given solutions but none of them worked for me. So i posted a question here.

My code is:

<div id="tabs" class="htabs">
    <a href="#tab-general"><?php echo $tab_general; ?></a>
    <a onclick="addtab();" id="add-tab"><?php echo $add_tab; ?></a>
</div> 

And script is :-

<script type="text/javascript">

$('#tabs a').tabs(); 

var tab_count = '<?php echo $tab_count; ?>';

function addtab(){

    var html = '';

    $('#add-tab').before('<a href="#product-tab-'+tab_count+'" class="nearest">Tab '+tab_count+'</a>');

    html += '<div id="product-tab-'+tab_count+'" class="nthDiv">';
    html += '<table class="form">'
    html += '<tr>';

    html += '<td>';
    html += 'Name'+tab_count;       
    html += '</td>';

    html += '<td>';
    html += '<input type="text">';
    html += '</td>';

    html += '</tr>';
    html += '</table>';

    html += '</div>';

    $('#form').append(html);
    $('#tabs a').tabs("refresh");

    //$('#tabs a').tabs( "option", "selected", -1 ); tried but doesn't work

    //$('#tabs a').tabs("option", "active", -1); tried but doesn't work


    tab_count++;

}

</script>

My jquery version is jquery-1.7.1.min.js and jquery ui version is 1.8.

The problem is the new tab is not get active/selected. I have to manually click on that tab to make it active.

  • 写回答

1条回答 默认 最新

  • douhutongvm382381 2015-08-14 10:44
    关注

    Your markup for the tabs is wrong

    $('#tabs').tabs({
      beforeActivate: function(e, ui) {
        return ui.newTab.find('#add-tab').length == 0;
      }
    });
    
    var tab_count = 1;
    
    $('#add-tab').click(function() {
    
      var html = '';
    
      $('#add-tab').parent().before('<li><a href="#product-tab-' + tab_count + '" class="nearest">Tab ' + tab_count + '</a></li>');
    
      html += '<div id="product-tab-' + tab_count + '" class="nthDiv">';
      html += '<table class="form">'
      html += '<tr>';
    
      html += '<td>';
      html += 'Name' + tab_count;
      html += '</td>';
    
      html += '<td>';
      html += '<input type="text">';
      html += '</td>';
    
      html += '</tr>';
      html += '</table>';
    
      html += '</div>';
    
      $('#tabs').append(html);
      $('#tabs').tabs("refresh").tabs("option", "active", -2);
    
    
      tab_count++;
    
    })
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.css"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
    
    <div id="tabs" class="htabs">
      <ul>
        <li><a href="#tab-general">Gen</a></li>
        <li><a href="#" id="add-tab">Add</a></li>
      </ul>
      <div id="tab-general">
        tab-general
      </div>
    
    </div>

    </div>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件