2012-04-25 5 views
0

J'ai une liste d'éléments affichés dans un onglet et je veux pouvoir cliquer sur l'un des éléments et ouvrir un nouvel onglet et afficher ses détails dans le nouvel onglet. J'ajoute le nouvel onglet en procédant comme suit:Onglets jquery-ui - Ajout d'onglets

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

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

} 

Mon problème est que l'URL est en fait un point de terminaison de service retour JSON. Je veux être en mesure d'appliquer un modèle js aux données renvoyées. Comment puis-je faire cela? Dois-je me connecter à l'événement de chargement de l'onglet?

Répondre

0

Je pense que je vais résoudre cela en ajoutant un div avec le code HTML dont j'ai besoin dans l'onglet conainer, puis en utilisant son identifiant pour définir le fragment du nouvel onglet. Par exemple:

$('.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; 
     }); 

Je vais attendre de voir si quelqu'un trouve une meilleure solution avant de marquer cela comme la réponse.

Questions connexes