1

JQuery UI アコーディオンを使用していますが、静的コンテンツで問題なく動作します。ただし、アコーディオンの H3 および Div タグを ajax rest サービス呼び出しからロードしているとき。データは適切にアップしていますが、アコーディオンはロードされていません

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();

私のアコーディオン Div は最初は空で、ボタンのクリックで上記のサービス コールからのデータを入力したいと考えています。

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

助けはありますか?

4

2 に答える 2

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

アコーディオン関数を実行する前に、まずHTMLコンテンツをページに追加する必要があります

于 2013-02-13T15:29:30.837 に答える
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 に答える