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选项卡隐藏的div出现在主选项卡上_Jquery_Jquery Ui_Jquery Ui Tabs - Fatal编程技术网

Jquery ui选项卡隐藏的div出现在主选项卡上

Jquery ui选项卡隐藏的div出现在主选项卡上,jquery,jquery-ui,jquery-ui-tabs,Jquery,Jquery Ui,Jquery Ui Tabs,我不知道该如何描述/问这个问题,所以我会尽我最大的努力。我正在jquery的选项卡中使用添加选项卡功能。在第一个选项卡上,我有一个jqgrid,用于选择要在新选项卡中打开的项目。当一个项目被选中时,新选项卡被成功创建,但是一个div被添加到jqgrid下面,它看起来像下面(添加了空白)。我可能做错了什么导致这个幻影师出现?我是用firebug发现的,但是因为我还没有切换标签,所以应该没有显示任何内容,对吗?另外,似乎为我所做的每个addtab创建了2个div。2正常吗? 编辑:2不正常,示例代码

我不知道该如何描述/问这个问题,所以我会尽我最大的努力。我正在jquery的选项卡中使用添加选项卡功能。在第一个选项卡上,我有一个jqgrid,用于选择要在新选项卡中打开的项目。当一个项目被选中时,新选项卡被成功创建,但是一个div被添加到jqgrid下面,它看起来像下面(添加了空白)。我可能做错了什么导致这个幻影师出现?我是用firebug发现的,但是因为我还没有切换标签,所以应该没有显示任何内容,对吗?另外,似乎为我所做的每个addtab创建了2个div。2正常吗?
编辑:2不正常,示例代码不会在jQueryUI网站上创建两个

<div id="ui-tabs-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"></div>
和选项卡模板

tabTemplate: "<li><a href='#{href}'>#{label}</a><span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
tabTemplate:“
  • 删除选项卡”
  • ”,
    编辑:添加一个选项卡基本上就是创建两个div。实际上需要奇数ID,而偶数ID则不需要。(id a div with id=“ui-tabs-3”是正确的,但添加了另一个选项卡,id=“ui-tabs-2”。不需要2)。我没有告诉它添加两个选项卡,偶数的东西是愚蠢的,没有任何东西,但我相信它会导致疯狂的空白出现和增长,每次我添加一个新的选项卡。有什么想法吗?我不会做任何复杂的事情,也不能进一步分解代码,我不认为不去掉add功能本身

    谢谢

    编辑:还有标签初始化的东西?我错过了什么明显的东西吗?似乎涉及到6行代码,有人会认为我会看到我搞砸了什么

    var $tabs = jQuery("#tabs").tabs({
                        //tabTemplate: "<li><a href='http://localhost:8000/tickets/byId/#{href}/'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
                    tabTemplate: "<li><a href='#{href}'>#{label}</a><span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
                    ajaxOptions: {
                        error: function(xhr, status, index, anchor) {
                            jQuery(anchor.hash).html("If you're reading this then something didn't go right....oops.");
                        }
                    }
                }).bind("tabsselect",function(event,ui){
                    if (ui.index == 0) {
                        $grid.trigger('reloadGrid');
                    }
                });
    
    var$tabs=jQuery(#tabs”).tabs({
    //选项卡模板:“
  • 删除选项卡”
  • ”, 选项卡模板:“
  • 删除选项卡”
  • ”, ajaxOptions:{ 错误:函数(xhr、状态、索引、锚定){ jQuery(anchor.hash).html(“如果你正在读这篇文章,那么有点不对劲……哎呀。”); } } }).bind(“选项卡选择”,函数(事件,用户界面){ 如果(ui.index==0){ $grid.trigger('reloadGrid'); } });
    我相信这个错误回答了我的问题


    您是否进行过调试,以查看addTab是否可能被多次调用,从而导致额外的选项卡?@Andrew Whitaker:我不认为是这样。但我不知道如何使用firebug解决这个问题。然而,如果它被调用了两次,那么我想我的标签会显示不止一次。正在创建的额外div与任何内容都不一致。另外,如果它被调用两次,我希望有两个选项卡是相同的,因为jqgrid中仍然选择了该行,这意味着第二次调用仍然应该基于addTab函数的第一行打开相同的选项卡。这听起来合乎逻辑吗?是的,这很有意义——您可以在Firebug中的该函数中放置一个断点,然后查看它何时被命中。(以下是方法:)
    var $tabs = jQuery("#tabs").tabs({
                        //tabTemplate: "<li><a href='http://localhost:8000/tickets/byId/#{href}/'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
                    tabTemplate: "<li><a href='#{href}'>#{label}</a><span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
                    ajaxOptions: {
                        error: function(xhr, status, index, anchor) {
                            jQuery(anchor.hash).html("If you're reading this then something didn't go right....oops.");
                        }
                    }
                }).bind("tabsselect",function(event,ui){
                    if (ui.index == 0) {
                        $grid.trigger('reloadGrid');
                    }
                });