1

我正在使用 JQuery UI Accordion,它适用于静态内容。但是,当我从 ajax 休息服务调用中加载手风琴的 H3 和 Div 标记时。数据正常出现,但手风琴没有加载

onSuccess: function (data) {
        var results = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;
        var html = "";

        for (var i = 0; i < results.length; i++) {
            html += "<div><h3><a href=\"#\">";
            html += results[i].Cells.results[3].Value;
            html += "</a></h3><p>"
            html += results[i].Cells.results[6].Value;
            html += "</p></div>";
        }
$("#results_accordion").accordion();

我的 Accordion Div 最初是空的,我想在单击按钮时填写来自上述服务调用的数据。

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

有什么帮助吗?

4

2 回答 2

0

这是我的实际点击事件,称为..

function onclic(queryTerms) {

Results = {
    element: '',
    url: '',

    init: function (element) {
        Results.element = element;
        Results.url = someurl;
    },

    load: function () {
        $.support.cors = true;
        $.ajax(
                {
                    url: Results.url,
                    method: "GET",
                    headers: {
                        "accept": "application/json;odata=verbose",
                    },
                    success: Results.onSuccess,
                    error: Results.onError
                }
            );
    },

    onSuccess: function (data) {
        var results = data.d.results;
        var html = "";

        for (var i = 0; i < results.length; i++) {
            html += "<div><h3><a href=\"#\">";
            html += results[i].Cells.results[3].Value;
            html += "</a></h3><p>"
            html += results[i].Cells.results[6].Value;
            html += "</p></div>";
        }


        Results.element.html(html);
        $("#results_accordion").accordion();
    },

    onError: function (err) {
        alert(JSON.stringify(err));
    }
}

Results.init($('#results_accordion'));
Results.load();
$("#results_accordion").accordion();

}

于 2013-02-13T15:33:39.473 回答
0
$("#results_accordion").html(html).accordion();

在执行手风琴功能之前,您应该首先将 html 内容添加到您的页面

于 2013-02-13T15:29:30.837 回答