2013-06-24 184 views
0

在我當前的項目中,我有許多選項卡,每個選項卡都顯示不同的手風琴,其中包含潛在客戶通過網絡發出的請求。每個標籤代表一個工作流程階段在第一個選項卡中,我有一個手風琴,一旦請求(手風琴組)被用戶「聲稱」,它將從當前的手風琴中移除,並附加到手風琴的下一個選項卡中。此功能正常工作。我遇到的問題是新的母手風琴似乎沒有認識到新增了一個手風琴團體,所以我能夠在手風琴中擴展獨立於其他手風琴組的手風琴組。如果我擴展其中一個,它就會崩潰,但是如果我將它擴展回來,其他已經擴展的其他應用程序就不會崩潰。刷新頁面後此問題消失,但我試圖避免這種情況。將手風琴組動態地添加到Twitter Bootstrap手風琴並不能被手風琴識別

所有的手風琴組都有正確的數據父親設置。我甚至改變了我正在移動的手風琴組的數據父母的價值,以便它也是正確的。

感謝您的幫助:)

編輯添加的代碼被稱爲當用戶要求的請求

define(['jquery', 'util', 'text!../templates/alert.html!strip', 'models/Claimer', 'models/RateQuote'], function($, util, tAlert) { 
    return { 
    /** 
    * Claim an unclaimed request. 
    * 
    * @param row The request row. 
    * @param id The request ID. 
    * @param name The user's name who is claiming the request. 
    * @param newActions Array of actions to replace the existing actions menu. 
    */ 
    claim: function(row, id, name, newActions) { 
     var claimer = new Claimer(name); 

     $.ajax({ 
     url: '/webrequests/request/claimRequest/' + id, 
     type: 'POST', 
     contentType: 'application/json', 
     data: JSON.stringify(claimer), 
     success: function(data) { 
      if($(row).siblings().length == 0) 
      util.noData(row.parent('.accordion')); 

      $(row).children('.accordion-heading').children('.accordion-toggle').attr('data-parent', '#claimed-by-me-accordion'); 

      var claimedByMeAccordion = $('#claimed-by-me-accordion'); 
      $(claimedByMeAccordion).children('.no-data').remove(); 

      $(row).appendTo(claimedByMeAccordion); 

      $('.createDate', row).html('No response sent').removeClass('createDate').addClass('respondDate'); 
      $('.actions', row).children().remove(); 
      $('.actions', row).append(newActions); 
     } 
     }); 
    }, 
+0

我們能看到的任何代碼,你試過? – blackpanther

+0

我剛剛添加了用戶聲明請求時調用的代碼。該功能將從當前手風琴中刪除手風琴組並將其移至下一個手風琴組。 –

回答

0

引導會自動在加載時將所有的都在DOM到相應的窗口小部件類型,但它不會偵聽添加到DOM的新元素。爲此,您需要手動指定新行在添加後可摺疊。幸運的是,這應該非常簡單。嘗試追加.collapse()的appendTo如圖所示:

也請參閱該文檔:http://twitter.github.io/bootstrap/javascript.html#collapse

+0

我剛試過。然而,在目標手風琴中,我所看到的預期新排的位置是一條線。看起來,如果我在Chrome中查看DOM,它會直接將「in」和「collapse」類添加到.accordion-group。我試圖在.accordion-body上調用collapse(),但那沒有做任何事情。 –