2014-07-24 1 views
0

c'est ma première question, peut être difficile à comprendre.

en appelant $('#classes').trigger('footable_redraw');, il retourne les données mais masque les en-têtes de tableau et les lignes de données, mais quand j'ai utilisé $('#classes').trigger('footable_initialize'); son travail est bien mais réduplique les données. La méthode Ajax est appelée lors de la soumission du formulaire. Comment est-ce que je peux obtenir seulement mes données mises à jour dans le tableau après avoir sauvé des valeurs en appelant soumission pour l'enregistrement??

+2

Quelle est votre question? – simeg

+0

j'ai mis à jour ma question – Navid

Répondre

0

Fondamentalement, vous devez vérifier si les données sont déjà dans la table. Si les données ne figurent pas dans la table, ajoutez-la; si c'est dans la table, ne le faites pas. Vous aurez besoin d'un moyen d'identifier positivement une ligne correspondant aux données. Si les données sont un tableau, vous devez parcourir le tableau et vérifier chaque ligne.

Une autre option consisterait à utiliser un cadre de liaison de données. Cela vous permet de lier les données à la table, puis vous ajoutez/mettez à jour/supprimez des lignes à partir des données et le framework prend soin de mettre à jour la table (vue) pour vous.

Personnellement, j'utilise Knockout.js. Ils ont un très bon tutoriel: http://learn.knockoutjs.com/. Même si vous ne finissez pas par utiliser Knockout.js, je pense que le tutoriel est assez cool et il ne vous faudra que quelques heures pour les parcourir tous.

0

Si votre script sur index.php/settings/classes/viewclasses retourne toujours la table de trous, et puisque vous avez dit que les données sont dupliquées, cela semble être le cas.

Ensuite, il est plus facile de supprimer toutes les lignes, puis de les ajouter à nouveau, ajoutez simplement $ ('. Classestbody'). Empty(); avant $ ('. Classestbody'). Append (données);. Votre code ressemblerait à ceci:

$.ajax({ 
    url : baseurl+'index.php/settings/classes/viewclasses', 
    success : function(data) { 
     $('.classestbody').empty(); 
     $('.classestbody').append(data); 
     $('#classes').trigger('footable_redraw'); 
     } 
});