Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2011, 10h09   #1
Invité de passage
 
Charly
Inscription : janvier 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : janvier 2011
Messages : 2
Points : 0
Points : 0
Par défaut Creation de fonction statique ou oo ?

Bonjour,

Pour mon premier post j'ai une petite question sur la conception d'une fonction.
Je vais d'abord vous donner le code de la fonction qui sert a naviguer un tableau de donnée (navigation calculé sur le serveur web):
Code :
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
 
/* Binding of paging and sorting to table */
        function BindPagingToTable(tablePrefix) {
            $("a", "#" + tablePrefix + "pager").live('click', function(e) {
 
                var pageMove = $(this).attr('name');
 
                var page = $("#" + tablePrefix + "page").val();
                if (pageMove == "pageNext") {
                    page = parseInt(page) + 1;
                }
                else if (pageMove == "pagePrev") {
                    page = parseInt(page) - 1;
                }
                else if (pageMove == "pageFirst") {
                    page = 1;
                }
                else if (pageMove == "pageLast") {
                    page = $("#totalPages").val();
                }
                $("#" + tablePrefix + "page").val(page);
 
                /* LoadTableData */
                LoadMoTableData(GetSelectedStatsUrl(), tablePrefix);
 
 
            });    // end of pageMove click
        }
J'utilise jquery selectors pour retrouver les champ input, la variable tablePrefix pour trouver les input correspondants. Rien de bien compliquer, je suppose .

Pour que je puise réutiliser ce code pour tout mes tableaux quelles sont les changements à apporter? Car LoadMoTableData reçois donc 2 param, l'url du webservice à appeler et tablePrefix. Je pense que LoadMoTableData ne devrais pas ce trouver dans cette fonction, mais comment lancer cette fonction quand une navigation est effectuée ?
charly.p est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 14h17   #2
Invité de passage
 
Charly
Inscription : janvier 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Charly

Informations forums :
Inscription : janvier 2011
Messages : 2
Points : 0
Points : 0
Apres quelque réflexion et googeling j'ai modifier mon code en sortant la fonction LoadMoTableData.

J'ai transformé tout cella :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
var tablePrefixArray = ["Mo", "Mt"];
 
            for (i = 0; i <= tablePrefixArray.length; i++) {
                /* Get page move click */
                BindPagingToTable(tablePrefixArray[i]);
                $("a", "#" + tablePrefixArray[i] + "pager").live('click', { tablePrefix: tablePrefixArray[i] }, function(e) {
                    LoadMoTableData(GetSelectedStatsUrl(), e.data.tablePrefix);
                });
 
                /* Get sortColumns and apply click */
                BindSortingToTable(tablePrefixArray[i]);
                $("a[class='sortColumn']", "#" + tablePrefixArray[i] + "headerRow").live('click', { tablePrefix: tablePrefixArray[i] }, function(e) {
                    LoadMoTableData(GetSelectedStatsUrl(), e.data.tablePrefix);
                });
            }
C'est déjà plus compacte et plus lisible. Vous pensez à d'autres optimisation?
charly.p est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web