IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

AutoComplement avec sqlite


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut AutoComplement avec sqlite
    Bonjour,

    Je cherche à implémenter un autocomplément avec sqlite au Cordova.
    Avec ce code je récupère les données

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <input id="valueEnter" oninput="clickfunc(this)" />
    <ul data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-input="#valueEnter" id="valueId"></ul>	
     
    function clickfunc(object) 
    	{
              $("#valueId").empty();
              var valueId= "";
              var valueIdName= $("#valueEnter").val();
              if (valueIdName.length > 2) 
    		    {
                  var select = '%' + valueIdName+ '%';
                  db.transaction(function (transaction) {
                       transaction.executeSql('SELECT Ref from protest WHERE Ref LIKE "' + valueIdName+ '";', [],
                            function (transaction, results) {
                            if (results != null && results.rows != null) {
                                  if (results.rows.length > 0) {
                                       for (var i = 0; i < results.rows.length; i++) {
                                           var code = results.rows.item(i).Ref;
                                           valueId+= '<li class="ui-screen-hidden"><a href="#">'+ code + '</a></li>';
                                        } 
                                      $("#valueId").append(valueId).selectmenu('refresh');
     
    						        } 
                            }
                            });
                    });
                }
     
        }
    Mais je sais pas comment récupère dans le champ la valeur selected parmi la liste ?!
    a ce moment, après la sélection une valeur parmi la liste , automatiquement une liste de lien apparaît au dessus du champ.
    Si vous pouvez m'aider à récupère dans le champ la valeur selected parmi la liste sans cette liste des liens!!

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valueId+= '<li class="ui-screen-hidden"><a href="#">'+ code + '</a></li>';
    pourquoi mettre une balise <a> ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valueId+= '<li class="ui-screen-hidden">'+ code + '</li>';
    et après sur le click de tes <li> il te suffit de récupérer son textContent et de mettre à jour l'<input>.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut
    merci,
    et après sur le click de tes <li> il te suffit de récupérer son textContent et de mettre à jour l'<input>.
    Dans la même fonction?

    Si je veux travailler avec autocomplete UI

    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
    21
    22
    23
    24
    25
    26
    27
    28
     
    var select = false;
             var availableTags = [
             "ActionScript",
             "AppleScript",
             "Asp",
             "C",
             "C++",
             "Java",
             "JavaScript"
            ];
    $("#tags").autocomplete({
    source: availableTags,
    autoFocus: true,
              selectFirst: true,
    	      minLength: 2,
    	      messages: {
                  noResults: '',
                  results: function() {}
                },
              open: function(event, ui) { if(select) select=false; },
              select: function(event, ui) { select=true; }
            }).blur(function(){
                if(!select)
                {
                  $("#tags").val('');
                }
            });
    mais je lorsque je modifier avec les données de DB sqlite , ca ne fonctionne pas malgré que je reçoit bien les données.
    apres de recherche sur google, il me faut de travailler avec callback
    mais je ne sais pas comment l'implémenter dans cette situation
    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
    21
    22
    23
    24
     
    db.transaction(function(tx) {
                      tx.executeSql("SELECT Ref  FROM client",  [],function (tx, results) {
                            if (results != null && results.rows != null) {
    						if (results.rows.length > 0) {
    						for (i=0; i<results.rows.length; i++) {
                                row = results.rows.item(i);
    							//alert(row.Ref);
                                jsonClientes.push(row.Ref);
                            }
    						return JSON.stringify(jsonClientes);
     
     
    						}
     
    						}
     
                            //alert(JSON.stringify(jsonClientes));
     
                        },function (tx, e) {
    						alert('error: ' + e.message);
                        }
                    );  
                });

Discussions similaires

  1. probleme avec sqlite et guillemets
    Par jpabeille@wanadoo.fr dans le forum SQLite
    Réponses: 1
    Dernier message: 14/10/2007, 19h45
  2. Date avec Sqlite
    Par xavier1936 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/07/2007, 16h54
  3. Débuter avec SQLite et les bases de données en général
    Par Toine dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/04/2007, 06h59
  4. Etats avec SqLite
    Par Didier L dans le forum Bases de données
    Réponses: 7
    Dernier message: 03/11/2006, 10h33
  5. connexion avec sqlite
    Par islem dans le forum SQLite
    Réponses: 1
    Dernier message: 17/07/2006, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo