Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 动态添加的jQuery ui选项卡的内容仅显示一次_Jquery Ui - Fatal编程技术网

Jquery ui 动态添加的jQuery ui选项卡的内容仅显示一次

Jquery ui 动态添加的jQuery ui选项卡的内容仅显示一次,jquery-ui,Jquery Ui,我正在尝试使用jQueryUI创建一个选项卡集,它有一些永久性选项卡和一些特殊用途的选项卡。临时添加特殊选项卡:提交它们所包含的表单时,将删除这些选项卡 除了一件事之外,我已经做到了这一点:在一个标签被删除后,如果它以后被重新添加,它的内容不会显示,我也不知道为什么。我把它提炼为,代码也在下面转载 HTML: 食物标签 关闭栏选项卡 closeBaz选项卡 添加栏选项卡 添加Baz选项卡 JavaScript: $('#tabs').find('div.transient').fin

我正在尝试使用jQueryUI创建一个选项卡集,它有一些永久性选项卡和一些特殊用途的选项卡。临时添加特殊选项卡:提交它们所包含的表单时,将删除这些选项卡

除了一件事之外,我已经做到了这一点:在一个标签被删除后,如果它以后被重新添加,它的内容不会显示,我也不知道为什么。我把它提炼为,代码也在下面转载

HTML:


食物标签 关闭栏选项卡 closeBaz选项卡
添加栏选项卡 添加Baz选项卡
JavaScript:

$('#tabs').find('div.transient').find(".close").live('click', function() {
        var footer_tabs = $('#tabs');
        var tab_id = $(this).closest("div.transient").attr("id");
        var index = footer_tabs.tabs("option", "selected");
        footer_tabs.tabs("select", -1);
        footer_tabs.tabs("remove", index);
});

function openTransientTab(id, title) {
    var footer_tabs = $("#tabs");
    footer_tabs.tabs("select", -1);
    footer_tabs.tabs("select", "#" + id);
    var selected = footer_tabs.tabs("option", "selected");
    if (selected < 0) {
        footer_tabs.tabs("add", "#" + id, title);
        footer_tabs.tabs("select", "#" + id);
    }

    $("#" + id).css("display", "block");
}

$(function() {
        var footer_tabs = $("#tabs");
        footer_tabs.tabs({
                collapsible: true,
                selected: -1
        });
});
$('tabs').find('div.transient').find(.close”).live('click',function(){
var footer_tabs=$('#tabs');
var tab_id=$(this).closest(“div.transient”).attr(“id”);
var index=页脚+选项卡(“选项”、“选定”);
页脚\选项卡。选项卡(“选择”,-1);
页脚选项卡。选项卡(“删除”,索引);
});
函数openTransientTab(id、标题){
var页脚选项卡=$(“#选项卡”);
页脚\选项卡。选项卡(“选择”,-1);
页脚选项卡。选项卡(“选择”、“#”+id);
所选变量=页脚选项卡(“选项”、“所选”);
如果(已选择<0){
页脚选项卡。选项卡(“添加”、“#”+id、标题);
页脚选项卡。选项卡(“选择”、“#”+id);
}
$(“#”+id).css(“显示”、“块”);
}
$(函数(){
var页脚选项卡=$(“#选项卡”);
页脚选项卡({
可折叠的:是的,
选定:-1
});
});

加载页面时,将创建条形图和baz选项卡,但在其样式中,“显示”设置为“无”,这就是它们最初不可见的原因。在选项卡内部,当您点击X时,实际上会完全删除bar和baz的div。当您在bar或baz选项卡关闭后重新单击以添加它时,它会重新创建div,但您不会在其中放置任何内容。创建选项卡后,添加如下内容

document.getElementById("bar").innerHtml = whatever you want within it here
之前:

<div id="foo" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
<h2>Foo Tab</h2>
</div>
<div id="baz" class="transient" style="display: none">
<h2>
<button class="close" style="float: right" type="button">
<span class="ui-icon ui-icon-closethick">close</span>
</button>
Baz Tab
</h2>
</div>
<div id="bar" class="transient ui-tabs-panel ui-widget-content ui-corner-bottom" style="display: block;">
<h2>
<button class="close" style="float: right" type="button">
<span class="ui-icon ui-icon-closethick">close</span>
</button>
Bar Tab
</h2>
</div>

食物标签
关闭
巴兹标签
关闭
条形标签
在打开和关闭

<div id="foo" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
<h2>Foo Tab</h2>
</div>
<div id="bar" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" style="display: block;"></div>
<div id="baz" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display: block;"></div>

食物标签

加载页面时,将创建条形图和baz选项卡,但在其样式中,“显示”设置为“无”,这就是它们最初不可见的原因。在选项卡内部,当您点击X时,实际上会完全删除bar和baz的div。当您在bar或baz选项卡关闭后重新单击以添加它时,它会重新创建div,但您不会在其中放置任何内容。创建选项卡后,添加如下内容

document.getElementById("bar").innerHtml = whatever you want within it here
之前:

<div id="foo" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
<h2>Foo Tab</h2>
</div>
<div id="baz" class="transient" style="display: none">
<h2>
<button class="close" style="float: right" type="button">
<span class="ui-icon ui-icon-closethick">close</span>
</button>
Baz Tab
</h2>
</div>
<div id="bar" class="transient ui-tabs-panel ui-widget-content ui-corner-bottom" style="display: block;">
<h2>
<button class="close" style="float: right" type="button">
<span class="ui-icon ui-icon-closethick">close</span>
</button>
Bar Tab
</h2>
</div>

食物标签
关闭
巴兹标签
关闭
条形标签
在打开和关闭

<div id="foo" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
<h2>Foo Tab</h2>
</div>
<div id="bar" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" style="display: block;"></div>
<div id="baz" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display: block;"></div>

食物标签

在Collector提供了关于什么不起作用的关键见解之后,我找到了一种更好的方法来保存选项卡内容以供重用。我将关闭功能更改为以下内容:

$('#tabs').find('div.transient').find(".close").live('click', function() {
    var footer_tabs = $('#tabs');
    var tab = $(this).closest("div.transient");
    var index = footer_tabs.tabs("option", "selected");
    footer_tabs.tabs("select", -1);
    footer_tabs.tabs("remove", index);
    footer_tabs.append(tab);
});

在Collector提供了关于什么不起作用的关键见解之后,我找到了一种更好的方法来保存选项卡内容以供重用。我将关闭功能更改为以下内容:

$('#tabs').find('div.transient').find(".close").live('click', function() {
    var footer_tabs = $('#tabs');
    var tab = $(this).closest("div.transient");
    var index = footer_tabs.tabs("option", "selected");
    footer_tabs.tabs("select", -1);
    footer_tabs.tabs("remove", index);
    footer_tabs.append(tab);
});

我找到了一个更好的方法来保存标签内容,但你肯定给我指出了正确的方向。我没有太多地使用jQuery,但很高兴我能帮上忙。我找到了一个更好的方法来保存选项卡内容,但你肯定为我指明了正确的方向。我没有太多地使用jQuery,但很高兴能帮上忙。