2011-01-12 32 views
0

我不确定如何描述/问这个,所以我会给它我最好的镜头。我在jquery的选项卡中使用添加选项卡功能。在第一个选项卡上,我有一个jqgrid,用于选择要在新选项卡中打开的项目。当选择一个项目时,新选项卡已成功创建,但div添加到jqgrid下面,看起来像下面的内容(添加了空白区域)。我可能会做什么错误导致这个幻影div显示?我发现这个使用萤火虫,但由于我没有切换标签,但没有什么应该显示正确的?此外,它似乎为每个addtab我创建2个div。 2是否正常?
编辑:2是不正常的,示例代码不会在jQuery UI网站上创建两个。Jquery UI选项卡隐藏div出现在主标签

<div id="ui-tabs-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"></div> 

谢谢。

用于addtab的代码。

function addTab() { 
    var selected_row = $grid.jqGrid('getGridParam',('selrow')); 
    $tabs.tabs('add', selected_row, selected_row); 
} 

而选项卡模板。

tabTemplate: "<li><a href='#{href}'>#{label}</a><span class='ui-icon ui-icon-close'>Remove Tab</span></li>", 

编辑:基本上添加一个选项卡是创建两个div。实际上需要奇数的ID,甚至ID也不是。 (id为id =“ui-tabs-3”的div是正确的,但另一个标签也被添加以及id =“ui-tabs-2”。不需要2)。我没有告诉它添加两个选项卡,偶数编号的东西是笨蛋,没有任何东西,但我相信这会导致疯狂的空白区域在每次添加新选项卡时出现并增长。有任何想法吗?我没有做任何复杂的事情,也无法将代码分离出来,我不认为没有删除添加功能本身。

谢谢。

编辑:和标签初始的东西以及?我错过了明显的东西吗?似乎涉及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'); 
       } 
      }); 
+0

你有没有做过任何调试,看看是否addTab可能是被调用一次以上,造成额外的标签? – 2011-01-13 03:10:52

回答