2009-08-19 31 views
6

我已經有了手風琴在頁面加載上工作正常,但是當用戶與頁面上的某些元素交互時,我使用ajax來重建手風琴的HTML。然後,我嘗試重新初始化手風琴在回調中重新初始化jquery手風琴

$('#accordion').accordion({ 
     active: false, 
     autoHeight: false, 
     clearStyle: true, 
     collapsible: true, 
     header: 'h3' 
    }); 

但它似乎沒有采取。

呈現的HTML塊沒有應用手風琴規則。相反,它只是一個大列表。

我甚至嘗試setTimeout()重新調用手風琴,只是在回調中返回呈現的HTML之前嘗試初始化它。

即在回調呈現的HTML是確切的相同的頁面加載(有例外當手風琴方法是有效發生的DOM加法)

回答

14

與數據再植之前銷燬手風琴。

$('#accordion').accordion('destroy'); 
+0

謝謝,修正了它。對此,我真的非常感激。 – aimlessWonderer 2009-08-21 14:33:34

+2

沒問題。我對對話UI組件有完全相同的問題,並且修復是相同的。您必須明確地銷燬jquery-ui中的所有內容(現在),以使組件處於良好狀態。這應該記錄在某個地方! – 2009-08-21 15:17:16