可折叠不适用于Ajax

时间:2014-05-20 13:55:43

标签: javascript jquery ajax jquery-mobile

我正在尝试使用ajax在可折叠集(jquery mobile)中插入数据库中的内容。我的问题是,可折叠的东西目前无法正常工作。它处于关闭位置,我的搜索过滤器无法搜索。

我不确定我在加载页面时的事件(有时我从页面可折叠的消失,当我来自另一个例子)。我对底部div的刷新也有疑问。

此外,如果您有代码建议。也许有更好的方法来做到这一点。

$homeDir = "http://localhost:8888/media";
$(document).on("pageinit ", "#informatique", afficherBranche);

function afficherBranche() {

    // Chargement des classes et des informations y relatives
    $.ajax({
        url: $homeDir + "model/getdata.php",
        dataType: "json",
        type: "GET",
        // en cas de succès
        success: function (data) {
            $("#collapsiblesetForFilter").empty(); // Vide le contenu de la LV
            // Parcours de l'objet jSon
            for (var i = 0; i < data.length; i++) {
                $("#collapsiblesetForFilter").append('<div data-role="collapsible" data-iconpos="right" data-filtertext="HTML programmation web" class="ui-collapsible ui-collapsible-inset ui-corner-all ui-collapsible-themed-content ui-first-child ui-collapsible-collapsed">' + '<h3 class="ui-collapsible-heading ui-collapsible-heading-collapsed">' + '<a href="#" class="ui-collapsible-heading-toggle ui-btn ui-btn-icon-right ui-btn-inherit ui-icon-plus">' + data[i]["titre"] + '<span class="ui-collapsible-heading-status"> click to expand contents</span>' + '</a></h3>' + '<div class="ui-collapsible-content ui-body-inherit ui-collapsible-content-collapsed" aria-hidden="true">' + '<p>' + data[i]["description"] + '</p></div></div>');
            }
        },
        error: function () { }
    });
    $('#collapsiblesetForFilter').collapsibleset().trigger('create');
};

1 个答案:

答案 0 :(得分:0)

Coderecommendations:

  1. 尝试使用延迟,因为回调已被删除。点击链接并搜索“弃用”,您将获得注释以及如何使用它。 jQuery.ajax()

    基本上是$ .ajax(..)。done(function success(){})。fail(function error(){});

  2. 我不会说法语,所以我不确定会出现什么问题,但我想你的最后一行也应该只在成功时被调用,不应该吗? 你的意思是你必须在你的for循环之后移动这一行。