Bootstrap Collapse无法使用Ajax创建的内容

时间:2017-08-01 00:22:00

标签: jquery ajax twitter-bootstrap collapse bootstrap-accordion

我使用Ajax来获取用于在克隆div中设置属性的一些[数据]。 在这个div中是一个bootstrap手风琴:

<div class='accordion-toggle' data-toggle='collapse' data-target='' style='cursor: pointer;'>
...
</div>

<div class="accordion-body collapse" id="">
...
</div>

成功进行Ajax调用时,我正在设置手风琴的数据目标和id以及收到的数据,但永远不会调用折叠。克隆后我甚至尝试崩溃。这是我的JQuery:

$.ajax({
            ...
            success: function(data) {
                        var id = data.id;
                        var data_target = '#target_' + id;
                        var inventory = $('#inventory_html').clone().attr('id',id);
                        $('.pick_inventory').append($(inventory_i));

                        $('#' + id).find('.accordion-toggle').attr('data-target',data_target);
                        $('#' + id).find('.accordion-body').attr('id',data_target);

                        $('#' + id).find('.collapse').collapse({toggle: false});
}

当我点击手风琴切换时,没有任何反应。对此有何帮助?

1 个答案:

答案 0 :(得分:0)

我发现了两个小问题:库存变量似乎错了,可折叠div的ID不应该有#。

尝试:

var id = data.id;
var data_target = 'target_' + id;
var inventory = $('#inventory_html').clone().attr('id', id);
$('.pick_inventory').append(inventory);

$('#' + id).find('.accordion-toggle').attr('data-target', '#' + data_target);
$('#' + id).find('.accordion-body').attr('id', data_target);
$('#' + id).find('.collapse').collapse({ toggle: false });