繁体   English   中英

可折叠式不适用于Ajax

[英]Collapsible doesn't work with Ajax

我正在尝试使用可折叠集合(jQuery Mobile)中的Ajax从数据库插入内容。 我的问题是可折叠的东西目前无法正常工作。 卡在关闭位置,我的搜索过滤器无法搜索。

我不确定页面加载时发生的事件(有时我会从页面上消失,因为每个示例中我都来自另一个)。 我也对底部的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. 尝试使用deferred,因为使用了回调。 单击链接并搜索“弃用”,您将获得注释以及上面的用法。 jQuery.ajax()

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

我不会说法语,所以我不确定什么地方出了问题,但是我想您的最后一行也应该仅在成功时才被调用,不是吗? 那意味着您只需要在for循环之后移动这条线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM