Sto provando a utilizzare AJAX per generare dinamicamente una fisarmonica JquerUI in base a ciò che è selezionato in una casella. Attualmente hoJQueryUI chiamare .accordion due volte su un id
<div style="display:none" id="testselect">
</div>
Con JS
$("#courseselect").change(function() {
$("#testselect").html(""); // Empty any previous data
$("#testselect").css("display", "block"); // Display it if it was hidden
$.getJSON('json.php?show=tests&courseid=' + $(this).val(), function(data) {
for(x in data)
{
$("#testselect").append("<h3 value=\"" + data[x].uno + "\"><a href=\"#\">" + data[x].name + "</a></h3>");
$("#testselect").append("<div>Foo</div>");
}
$("#testselect").accordion({ change:function(event, ui) { courseid = ui.newHeader.attr("value");
} });
});
});
Ora questo funziona la prima volta che cambio il mio selezione, ma dopo che ritorna alla pianura vecchio non formattato HTML. Come se la chiamata a .accordion() non fosse mai stata eseguita. Immagino che questo abbia qualcosa a che fare con JQuery, non volendo che formassi qualcosa due volte, ma non ne ho idea.
Ah eccellente. Avevo cercato un metodo per distruggerlo, non mi aspettavo che fosse un parametro di .accordion, grazie! – Ben