最近,我问了一个问题(并有它回答)位置:jQuery Load JSONjQuery的数据加载到手风琴
我有一个跟进的问题,我希望能得到一些建议。基本上,我正在将数据加载到以下div:"#my_div"
,它实际上是另一个div的子元素,"#accordion"
,这是一个手风琴(jQuery UI)。
我的代码如下所示:
$("#accordion").accordion({collapsible: true, clearStyle: true });
function load_list() {
$.getJSON('json/load.php', function(data) {
$("#my_div").empty();
$.each(data, function(k, v){
$("#my_div").append('
<li> \
<div> \
<input type="checkbox"> \
</div> \
<div>'+v.due_date+'</div> \
<h3> \
<span>'+v.title+'</span> \
</h3> \
</li> \
');
});
});
}
和HTML:
<div id="accordion">
<div id="my_div">JSON elements loaded here.</div>
</div>
然而,问题是:在页面加载,然后JSON元素,手风琴未自动调整大小以适应JSON加载的元素。只有当我折叠手风琴,然后重新打开时,才能正确看到这些元素。 (这发生在FF和IE中)。
我试过把$("#accordion").accordion({collapsible: true, clearStyle: true });
放在load_list()
函数的末尾,但我仍然得到相同的结果。任何对此的帮助都会很大。
非常感谢!
UPDATE:
每下面的建议,我已经尝试了一些不同的方法,但我仍然在运行到同样的问题。
这里是最近的代码,我曾尝试:
function load_tasks() {
$.ajax({
url: 'json/load.php',
dataType: 'json',
success: function(data) {
$.each(data, function(k, v){
$(("#my_div").append('
<li> \
<div> \
<input type="checkbox"> \
</div> \
<div>'+v.due_date+'</div> \
<h3> \
<span>'+v.title+'</span> \
</h3> \
</li> \
');
});
$("#accordion").accordion({collapsible: true, clearStyle: true, autoHeight: true });
}
});
}
我也曾尝试autoHeight的其他建议(默认情况下是真实的,不是吗?),以及“调整大小”的方法。
这些都不似乎工作,很遗憾。如果任何人有任何建议,他们将不胜感激。或者,也许,这只是在这种特殊情况下无法完成的事情。
感谢您的建议,但是,Marko看起来并不像回调工作。我不知道为什么。看到我上面的更新。 – Dodinas 2010-07-30 00:40:08
回调正在为我工作,但调整大小()不起作用。我也尝试刷新()没有成功。 – tintyethan 2013-11-14 20:24:36
我终于得到这个与$(“。选择器”)。手风琴(“刷新”) – tintyethan 2013-11-15 14:01:33