1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
(function ( $ ) {
// corps du tableau
function constructionTBody(options){
var tabBody = $(options.cible).find('tbody');
$.ajax({
// url récupération des données
})
.done(function(retour) {
$.each(retour, function(k, item){
// construction des lignes avec les résultats de la requête ajax
$(tabBody).append('<tr><td>'+retour.item.val1+'</td><td>'+retour.item.val2+'</td><td>'+retour.item.val3+'</td></tr>');
})
})
}
$.fn.tabData = function(parametres){
return this.each(function(){
// paramètres par défaut
var defaults = {
// options
};
// fusion des paramètres par défaut avec ceux du code appelant
var opts = $.extend( {}, defaults, parametres );
// en tête du tableau
$(opts.cible).append('<thead></thead><tbody></tbody>');
var tabHead = $(opts.cible).find('thead');
var ligne = '<tr><th>#</th>';
$.each(opts.colonnes, function(k, c){
ligne += '<th class="headcol" data-el-col="'+k+'">'+c.libelle+'</th>';
})
ligne += '<th></th></tr>';
tabHead.append(ligne);
// affichage du body du tableau
constructionTBody(opts);
// j'ai, entre autres, tenté un truc dans ce goût là...
// reloadTableau = function(){
// constructionTBody(opts);
// }
})
};
}( jQuery )); |
Partager