2011-01-12 55 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

回答