Я недавно задал вопрос (и получил ли он ответ) здесь: jQuery Load JSON
У меня есть дополнительный вопрос, я надеялся получить какой-нибудь совет. По сути, я загружаю данные в следующий div: "#my_div"
, который на самом деле является дочерним элементом другого div, "#accordion"
, который является аккордеоном (пользовательский интерфейс jQuery).
Мой код выглядит так:
$("#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 (что по умолчанию верно, нет?), А также метод 'resize'.
К сожалению, ни один из них не работает. Если у кого-то есть какие-либо предложения, они будут очень благодарны. Или, может быть, это просто то, чего нельзя достичь в данной конкретной ситуации.