Html代码:
<div id="container-1">
<ul>
<li><a href="#fragment-1">List</a></li>
<li><a href="#fragment-2">List</a></li>
<li><a href="#fragment-3">List</a></li>
</ul>
<div id="fragment-1">one</div>
<div id="fragment-2">two</div>
<div id="fragment-3">three</div>
</div>
<button id="add_tab">Add Tab</button>
我想添加另一个标签“fragment-4”,它位于按钮onclick事件上。
此标签div超出<div id="container-1">
。我使用以下java脚本:
$(document).ready(function() {
var tabs = $("#container-1").tabs();
var tabCounter = 1;
$('#add_tab').click( function(){
var ul = tabs.find( "ul" );
$( "<li><a href='#fragment-4'>Call Detials</a></li>" ).appendTo( ul );
tabs.tabs( "refresh" );
tabs.tabs('select', 1);
});
});
使用此功能,我可以获得动态标签,但不能获得在此标签中写入的内容。 所以请告诉我我该怎么办?
答案 0 :(得分:1)
除了添加li
之外,您还需要在内容中添加div
。 div的ID应与href
元素的li
属性匹配。
这样的事情:
编辑:添加了动态标签ID
$(document).ready(function () {
var tabs = $("#container-1").tabs();
var tabCounter = 3;
$('#add_tab').click(function () {
tabCounter++;
var ul = tabs.find("ul");
$('<li><a href="#fragment-' + tabCounter + '">Call Detials</a></li>').appendTo(ul);
tabs.append('<div id="fragment-' + tabCounter + '">Hello there ' + tabCounter + '</div>');
tabs.tabs("refresh");
tabs.tabs('select', 1);
});
});
<强> Working Demo 强>
答案 1 :(得分:0)
$(document).ready(function() {
var tabs = $("#container-1").tabs();
var tabCounter = 1;
$('#add_tab').click( function(){
var ul = tabs.find( "ul" );
var current_idx = ul.find("li").length + 1; // Get correct index for id
$("<li><a href='#fragment-" + current_idx + "'>Call Details</a></li>" ).appendTo( ul );
tabs.append( $('#callDetail') );
tabs.tabs("refresh");
tabs.tabs("select", 1);
});
});
答案 2 :(得分:0)
除了添加li
之外,您还需要添加内容div。
$(document).ready(function() {
var tabs = $("#container-1").tabs();
var tabCounter = tabs.find('ul').first().children().length;
$('#add_tab').click( function(){
var ul = tabs.find( "ul" );
$( '<li><a href="#fragment-' + ++tabCounter + '">Call Detials</a></li>' ).appendTo( ul );
$( '<div id="fragment-' + tabCounter + '">'+ tabCounter +'</div>' ).appendTo( tabs );
tabs.tabs( "refresh" );
tabs.tabs('select', tabCounter - 1);
});
});
演示:Fiddle
答案 3 :(得分:0)
$(document).ready(function() {
var tabs = $("#container-1").tabs();
$('#add_tab').click( function(){
var tabCounter = $('#container-1 ul li').length; // return number of tabs
// add tabs with button
$('#container-1').append("<div id='fragment-"+tabCounter+">Content</div>");
$('#container-1 ul').append("<li><a href='#fragment-"+tabCounter+">"+tabCounter+"</a></li>");
// Note : if you want show literal number, use something like .replace()
tabs.tabs("refresh");
tabs.tabs('select', tabCounter);
});
});