2013-02-13 91 views
1

我正在使用JQuery UI Accordion,它可以很好地處理靜態內容。但是,當我從ajax休息服務調用加載手風琴的H3和Div標籤時。該數據被正確上來了,但手風琴是不是加載了使用Jquery加載Jquery Accordion點擊按鈕後使用

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

我的手風琴事業部是空的最初whihc我想從按鈕點擊上面的服務調用的數據來填充。

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

任何幫助?

+1

剛在這裏添加的是流程.. 第一頁加載空results_accordion div - >用戶點擊按鈕 - > AJAX調用帶來的數據加載在Accordion使用JQuery – 2013-02-13 15:28:07

+0

在執行手風琴功能之前,您應該首先將html內容添加到您的頁面中 – 2013-02-13 15:29:06

回答

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

你執行手風琴功能

0

這是一種被稱爲我的實際點擊事件之前,你應該先添加HTML內容到你的網頁..

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

}

+0

正如您所看到的,我已經調用了$(「#results_accordion」)accordion();在調用Results.load()之後。 – 2013-02-13 15:35:14

相關問題