2013-06-24 141 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(),但那没有做任何事情。 –