2012-01-08 60 views
1

這似乎是一個明顯的能力,但我完全無法弄清楚如何去做。我有像這樣把ajax函數的結果放在fancybox中1.3.4

<a onclick="func('AS');" href="#">Asia</a> 
<a onclick="func('AU');" href="#">Australia</a> 
<a onclick="func('NA');" href="#">North America</a> 

func函數執行一串數據準備的,然後發送出去Ajax請求一系列鏈接。 ajax請求的結果被轉換爲sparklines。它看起來有點像這樣

"func": function(continent) { 
    $.ajax({ 
     url  : "path/to/data.json", 
     type : "GET", 
     data : {"continent": continent}, 
     dataType: "jsonp", 
     error : function() { alert("Error loading html document"); }, 
     success : function(result) {  
      var html = "<table>" + 
         "<tr><td colspan='2'><div id='a'></div></td></tr>" + 
         "<tr><td colspan='2'><div id='b'></div></td></tr>" + 
         "</table>"; 

      $("#a").sparkline(result.a); 
      $("#b").sparkline(result.b); 
     } 
    }); 

} 

這一切都工作得非常好,但我想顯示的fancybox彈出裏面的HTML表,我無法弄清楚如何這樣組裝起來。我猜測我必須像這樣反轉操作 - 將fancybox觸發器綁定到與大陸代碼的鏈接,將大陸代碼傳遞到fancybox啓動器,然後在fancybox中填充ajax調用的結果。說了這麼多,我該怎麼做呢?

更新:其實,下面的工作

"func": function(continent) { 
    $.ajax({ 
     url  : "path/to/data.json", 
     type : "GET", 
     data : {"continent": continent}, 
     dataType: "jsonp", 
     error : function() { alert("Error loading html document"); }, 
     success : function(result) {  
      var html = "<table>" + 
         "<tr><td colspan='2'><div id='a'></div></td></tr>" + 
         "<tr><td colspan='2'><div id='b'></div></td></tr>" + 
         "</table>"; 

      $.fancybox({ 
       content: html, 
       autoDimensions: true 
      }); 

      $("#a").sparkline(result.a); 
      $("#b").sparkline(result.b); 
     } 
    }); 

} 

回答

3

東西沿着這些路線?

success : function(result) {  
      var html = "<table>" + 
         "<tr><td colspan='2'><div id='a'></div></td></tr>" + 
         "<tr><td colspan='2'><div id='b'></div></td></tr>" + 
         "</table>"; 

      $("#a").sparkline(result.a); 
      $("#b").sparkline(result.b); 

      // Pass table to fancybox 
      $.fancybox(html); 
     } 
+0

謝謝...是的,我只是想出了自己併發布了更新。唯一的事情是,在調用sparklines之前,必須首先進行精美的方框調用,這樣html纔會被渲染,並且sparklines會有正確的div可用於鎖定。非常感謝。 – punkish 2012-01-08 23:04:24

+0

不用擔心 - 很高興你把它分類:) – nicky77 2012-01-08 23:05:30