2012-04-25 312 views
0

我有一個選項卡中顯示的項目列表,我希望能夠點擊其中一個項目並打開一個新選項卡並在新選項卡上顯示其詳細信息。我通過執行以下操作將新標籤:jquery-ui選項卡 - 添加選項卡

$(".btn-opener").click(function(){ 

$('#tabs').tabs('add', 'http://localhost/GetItem/' + $(this).attr('href'), "View Details"); 

} 

我的問題是,URL實際上是一個服務端點返回JSON。我希望能夠將js模板應用於返回的數據。我該怎麼做呢?我需要鉤入標籤的加載事件嗎?

回答

0

我想我要通過添加一個帶有我需要的HTML到div的conainer的div來解決這個問題,然後使用它的id來設置新選項卡的片段。例如:

$('.btn-opener').click(function() { 

    var $this = $(this), 
     itemID = $this.data("item-id"); 

      $.get("http://localhost/GetItem/" + itemID, 

       function (data, textStatus, jqXHR) { 

        var html = Mustache.to_html($("#item-template").html(), data);       

        $("#tabs").append('<div id="' + id + '">' + html + '</div>'); 
        $('#tabs').tabs("add", "#" + id, $this.text()); 

       }, 
       "json" 
      ); 

      return false; 
     }); 

我會等待看看有沒有人提出更好的解決方案,然後再將其標記爲答案。