javascript - JQueryUI 在一个 id 上调用 .accordion 两次

标签 javascript jquery jquery-ui

我正在尝试使用 AJAX 根据框中选择的内容动态生成 JquerUI Accordion 。目前我有

 <div style="display:none" id="testselect">
 </div>

使用 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");
                 } });
            });
      });

现在这在我第一次更改我的选择时有效,但之后它恢复为普通的旧的未格式化的 HTML。好像从未完成对 .accordion() 的调用。我猜这与 JQuery 不希望我格式化两次有关,但我真的不知道。

最佳答案

在清空 div 并重新开始之前尝试破坏 Accordion :

$("#courseselect").change(function () {
    $("#testselect")
        .accordion("destroy")
        .empty() // equivalent to .html("");
    $.getJSON(...

更多信息 here .

祝你好运!

关于javascript - JQueryUI 在一个 id 上调用 .accordion 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636987/

相关文章:

javascript - 如何在Vue项目中正确导入Three.js模块?

JavaScript 将 NULL 转换为 0

javascript - 获取导致 Fetch 中 json 解析错误的有效负载

Javascript 数字选择器功能

javascript - 根据当前节分配索引#

javascript - 使用 jQuery 切换仅影响一个元素

javascript - jQuery UI(在屏幕上可见时运行)

javascript - 在 Javascript 中替换变量的值

jquery - 过滤掉包含多个 css 类的 tr

javascript - rails 5,远程 : true form empty data