首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQueryUI在一个id上调用.accordion两次

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

Stack Overflow用户
提问于 2011-01-09 08:27:12
回答 1查看 813关注 0票数 5

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

代码语言:javascript
复制
 <div style="display:none" id="testselect">
 </div>

使用JS

代码语言:javascript
复制
$("#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不想让我格式化某些东西有关,但我真的不知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-09 09:02:48

在清空div并重新开始之前,尝试销毁accordion:

代码语言:javascript
复制
$("#courseselect").change(function () {
    $("#testselect")
        .accordion("destroy")
        .empty() // equivalent to .html("");
    $.getJSON(...

更多信息here

祝好运!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4636987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档