2012-01-08 7 views
1

これは明らかな機能だと思われますが、私はそれを行う方法を完全に理解することができません。私はそうファンシーボックスにajax関数の結果を入れる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に変換されます。それはちょっと私はfancyboxポップアップ内のHTMLテーブルを表示したい、除いてすべてこれは、非常にうまく機能し、私はこれを配線する方法を見つけ出すことはできませんので

"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トリガーをバインドし、ファンシーボックスランチャーに大陸コードを渡し、ajax呼び出しの結果をfancyboxに書き込むような操作を逆にする必要があると推測しています。すべてのことが言った、私は実際にこれを行うのですか?

更新:は実際に、以下では、これらの線に沿って

"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

ありがと...はい、私は自分自身を考え出し、更新を投稿しました。唯一のことは、スパークラインを呼び出してからhtmlがレンダリングされ、sparklinesが正しいdivを持つことができるようにするためには、ファンシーボックスコールを最初に作成する必要があります。どうもありがとう。 – punkish

+0

心配する必要はありません - あなたがそれを整理してうれしい:) – nicky77

関連する問題