I am using jquery ui-1.11.4 and had the same problem. This is the solution I put together.
Javascript:
var already_loaded = new Object();
$(function() {
$( "#accordion" ).accordion({
collapsible: true,
active: false,
activate: function (e, ui) {
if(ui.newHeader.length>0){
if(! already_loaded[ui.newHeader[0].id]==1){
var srcObj = $(ui.newHeader[0]).children('a');
var url = srcObj.attr('href');
var folder = srcObj.attr('data-folder');
$.post(url, {doCmd:'getFolderFiles', folder:srcObj.attr('data-folder')}, function (data){
$(ui.newHeader[0]).next().html(data);
var contentDiv = $(ui.newHeader[0]).next()[0];
$('#'+contentDiv.id).height(contentDiv.scrollHeight);
already_loaded[ui.newHeader[0].id]=1;
});
}
}
}
});
});
HTML:
<div id="accordion">
<h3><a href="program_to_generate_accordion_content.php" data-folder="2015">2015 Files</a></h3>
<div>
<p>
Loading... Please wait.
</p>
</div>
<h3><a href="program_to_generate_accordion_content.php" data-folder="2016">2016 Files</a></h3>
<div>
<p>
Loading... Please wait.
</p>
</div>
</div>
source
share