2011-05-03 66 views
0

我正在通過「tab-add」按鈕創建一個動態選項卡。創建後jQuery中的動態選項卡未能被選中

的「製表添加」按鈕被附加到的標籤的端部,然後將標籤被初始化,例如

$('#tabs').sortable({ 
    create: function(event, ui) { 
     $tabs = $('#tabtab').tabs({ 
      create: function(event, ui) { 
       $('#tabs').append('<li id="tab-add" class="noSort"></li>'); 
      }, 
      add: function(event, ui) { ... 

enter image description here

當「製表添加」按鈕(這實際上是一個利)被點擊一個新的標籤使用.tabs創建(「添加」,HREF,輸入)符號。然後我在這個生成的標籤li中注入一個輸入字段。這將刪除新創建的li中的默認生成鏈接。

enter image description here

<li id="tab-1"> 
    <input type="text" id="tab-input"></input> 
</li> 

enter image description here

此工作正常時,輸入失去焦點聚集在輸入的信息將被髮送至數據庫和正確的李語法返回到編號「選項卡-1」 。

<li id="tab-1"> 
    <a href="#tabs-1">The Name of My New Tab</a> 
</li> 

現在,這是我卡住的地方。

選擇了正確的選項卡(上面看到的),並且面板顯示,但是當我點擊另一個已經創建的選項卡,然後單擊後退我剛生成選項卡上的選項卡將不會選擇(見下文)。當我嘗試點擊「我的新標籤的名稱」標籤時,它不會選擇(突出顯示)。

enter image description here

這有事情做與的「標籤-1」的內容是動態生成的標籤沒有再生本身的事實。因爲,如果我繼續添加另一個新選項卡,選項卡將開始正常工作。我不想做一個頁面刷新我只希望該標籤生成後立即工作。我試過選擇,加載和啓用標籤沒有任何作用。

是否有這種動態的方法後再生的標籤光滑的方式嗎?

我希望這個讀一直沒有太沉悶!任何幫助將非常感激。

回答

2

好吧,我現在明白了。問題是,當你添加一個新的選項卡時,jquery.ui代碼將一堆處理程序附加到那個你正在替換的標記上。而不是替換這個標籤,只是隱藏它。然後當輸入失去焦點時,改變由jquery.ui創建的文本並再次顯示。這樣你就可以保留jquery.ui附加的所有處理程序。

+0

怕我沒有活的服務器提供的那種例子,你會需要,只是還沒有。 – HGPB 2011-05-04 01:36:45

+0

我已經設法添加一些屏幕截圖 – HGPB 2011-05-04 02:15:27

+0

這是爲了評論,而不是回答,沒有人對我大吼! – 2011-05-04 02:46:50

相關問題