2011-02-16 2 views
1

J'ai une page qui utilise jquery pour transformer une table html en une structure de fichier en utilisant jquery treeTable plug in. La table html est dans un div appelé "treeStructure"

J'ai la possibilité d'ajouter un nouveau dossier à n'importe quel dossier dans l'arborescence et j'utilise un post-appel pour ajouter le nouveau dossier à la base de données. La publication renvoie une nouvelle table html avec le dossier ajouté et remplace le contenu div de "treeStructure" par les données renvoyées. Je veux ensuite utiliser le jquery pour retourner cette table dans la structure du fichier (comme je l'ai fait dans le document $. Ready()), sans actualiser la page.

Je pense que j'ai besoin d'utiliser la fonction .live() de Jquery, mais je n'arrive pas à comprendre comment faire.

Répondre

0

Dans le rappel à votre $.post appel, vous pouvez exécuter le plugin sur les données renvoyées.

$.post('some/path', {some:'data'}, function(resp) { 
     // create a jQuery object with the response 
    var $resp = $(resp); 
     // call the plugin 
    $resp.treeTable(); 
     // append the result 
    $resp.appendTo('wherever'); 
}); 

Si la table est imbriquée plus profondément dans la réponse, vous aurez besoin de faire une trouvaille:

$resp.find('#myTable').treeTable(); 
+0

Merci Patrick. Cela a fait l'affaire !! – jworrin

0

Si tout ce que vous avez besoin est d'enregistrer un gestionnaire d'événements pour les éléments qui n'existent pas encore, remplacez

$('selector').click(function(e) { /* your code */ }); 

avec

$('selector').live('click', function(e) { /* your code */ }); 
+0

Ce travailleriez pour les gestionnaires d'événements, mais il semble OP demande sur l'exécution d'un plug-in. – user113716