2017-03-11 48 views
1

我有一个动态选项卡面板,每当用户点击添加按钮它会生成一个新的选项卡。所以我需要增加选项卡的ID然后加载数据。 我有一些使用jQuery UI这样我如何追加jquery与父div具有动态编号

$("button#add-tab").click(function(e) { 
     e.preventDefault(); 

     var num_tabs = $("div#tabSequence ul li").length + 1; 

     var tpl = $('#tabSeq').html(); 

     $("div#tabSequence ul").append(
      "<li><a data-toggle='tab' href='#tab" + num_tabs + "' >#" + num_tabs + "</a></li>" 
     ); 
     $("div#tabContent").append(
      "<div class='tab-pane' id='tab" + num_tabs + "'>" + tpl + "</div>" 

     ); 

,但我将不得不使用jQuery的.load()API,所以我不认为这会工作:

$("div#tabContent").append(
       "<div class='tab-pane' id='tab" + num_tabs + "'>" + tpl + "</div>" 

,而是试图做这样的事情没有成功:

$("div#tabContent").append(
      $('div .tab-pane #tab" + num_tabs + "').load("sequenceTemplate.html") 
     ); 

如何使一个jQuery从另一个文件,NUM_TABS的ID创建潜水然后负载()一个div? 其中所有SequenceTemplate.html具有是一个单一的div来加载动态

+0

' 'DIV .TAB窗格#tab “+ NUM_TABS +”''是错误。应该是'“DIV .TAB窗格#tab” + num_tabs' –

+0

凉爽的感谢无法找到如何使用jQuery的里面一个变种正确 –

+0

未捕获的错误:语法错误,无法识别的表达式:#DIV标签“+ NUM_TABS +” –

回答

1

$("#add-tab").click(function(e) { 
 
    e.preventDefault(); 
 

 
    var num_tabs = $("#tabSequence ul li").length + 1; 
 

 
    $("<li/>", { 
 
    html: "<a>#" + num_tabs + "</a>", 
 
    appendTo: "#tabSequence ul" 
 
    }); 
 

 
    $("<div/>", { 
 
    class : "tab-pane", 
 
    appendTo : "#tabContent", 
 
    load : "http://output.jsbin.com/kivige/1.js" //you use: "sequenceTemplate.html" 
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button id="add-tab">+ Add</button> 
 
<div id="tabSequence"><ul></ul></div> 
 
<div id="tabContent"></div>

jsBin example

+0

哇,你太棒了!非常感谢 –

+0

@MichaelDaSilva欢迎您 –