jQuery附加到手风琴上

时间:2013-05-26 08:47:06

标签: jquery jquery-ui jquery-ui-accordion

根据1.10的文档,以下代码(也在jsFiddle上)用于在丢弃时将项目附加到手风琴上应该有效。

$( "#accordion" ).accordion();

$( "#accordionContainer" ).droppable({
    drop: function( event, ui ) {
        $( "<h3>New Item</h3>" ).appendTo( "#accordion" );
        $( "<div>New Description</div>" ).appendTo( "#accordion" );
        $( "#accordion" ).accordion( "refresh" );
    }
});

没有。附加的h3和div会附加到错误的对象,即使我明确指定了我想要添加它们的位置。

文档中附带了一个jsFiddle example,其中显示了正在运行的功能,但对于新手来说,找出不同之处的时间太长且太复杂。我一定是犯了一个简单的错误。对?有什么想法吗?

难道没有办法让手风琴既可以成为手风琴也可以放弃?然后,我如何指定正确的“this”作为追加的目标?

提前致谢。

1 个答案:

答案 0 :(得分:3)

尝试使用低于ui版本1.10: -

Demo

$(function () {
    $(".draggable").draggable({
        revert: false,
        helper: "clone"
    });
    $("#accordion").accordion();
    $("#accordionContainer").droppable({
        drop: function (event, ui) {

            $("<h3>New Item</h3>").appendTo("#accordion");
            $("<div>New Description</div>").appendTo("#accordion");
            $("#accordion").accordion('destroy').accordion(); //<-- Here is the destruction and recreation
        }
    });


});

对于ui版本1.10刷新工作

Demo

$(function () {
    $(".draggable").draggable({
        revert: false,
        helper: "clone"
    });
    $("#accordion").accordion();
    $("#accordionContainer").droppable({
        drop: function (event, ui) {

            $("<h3>New Item</h3>").appendTo("#accordion");
            $("<div>New Description</div>").appendTo("#accordion");
            $("#accordion").accordion('refresh'); //<-- Just a refresh
        }
    });


});