Bonjour,

Je suis en train de développer une application de test en JQuery Mobile (je débute...).

J'ai un listview avec dedans 2 <li> contenant chacun un class="ui-li-count". Le but étant naturellement d'afficher à l'utilisateur le nombre de lignes qu'il aura ensuite en cliquant sur un li.

Mon code est structuré de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
init:function(){
  db.transaction(function(tx) {
    tx.executeSql('SELECT *** FROM ...', [], function(tx, data) {					
      for(var i = 0; i < data.rows.length; i++) {
        // Append les <li> au <ul>
      }
      //Affichage du nombre
      $('#span-nb-A').html( data.rows.length);
      };
  };
  db.transaction(function(tx) {
    tx.executeSql('SELECT *** FROM ...', [], function(tx, data) {					
      for(var i = 0; i < data.rows.length; i++) {
        // Append les <li> au <ul>
      }
      //Affichage du nombre
      $('#span-nb-B').html( data.rows.length);
      };
  };
};
Dans cet ordre, ça ne marche PAS.

Si je mets chaque tx.executeSQL dans un db.transaction séparé ça marche.

En gros :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
  db.transaction(function(tx) {
    tx.executeSql('SELECT *** FROM ...', [], function(tx, data) {					
      A;
    };
    tx.executeSql('SELECT *** FROM ...', [], function(tx, data) {					
      B;
    };
  });
----> NE MARCHE PAS


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
  db.transaction(function(tx) {
    tx.executeSql('SELECT *** FROM ...', [], function(tx, data) {					
      A;
    };
  });
  db.transaction(function(tx) {
    tx.executeSql('SELECT *** FROM ...', [], function(tx, data) {					
      B;
    };
  });
----> MARCHE


Avez-vous une idée d'où vient le problème ? J'arrive à le contourner mais je voudrais comprendre.

Merci,