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

jQuery Discussion :

Utiliser keyup (function (e) {} [AJAX]


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut Utiliser keyup (function (e) {}
    Bonjour à tous ;-)
    voilà je viens de commencer un code pour un instant search sur un fichier json, ça a l'ai de tourner (je note que je ne suis pas du tout un AS du javascript en général) bref, le code tourne, MAIS, mon keyup(...) ne me modifie pas la recherche (comme le cas à travers php, mysql) au fûr et à mesure que je tape plus de 3 lettres (que j'ai fixé pour démarrer la recherche).
    j'espère que vous avez compris la question hah.
    j'expose de suite le code en question...

    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
    $(document).ready(function(){
     $('#results').ajaxStart(function(){
      $(this).html("<img src='loading.gif' />");		   
     }).ajaxStop(function(){      
       $(this).html('');	  
    });
     
    $("input#fieldSearch").keyup(function(e){ 
     var query = $("input#fieldSearch").val();
      $.getJSON('moteur.json', function(json) { 
       $("#results").append("<p>Results for <b>" + query + "</b></p>");
       $.each(json,function(i, value){
       if(query !== '' && query.length >= 3){   
        if(value.nom.match(query))
           $('#results').append('<p>'+'<a href="'+value.adresse+'">'+value.nom+'</a><br><SPAN class=vert>'+value.adresse+'</span><br>'+value.description+'</p>'); 
        }	   
    	else  $('#results').html('');            		
    	});//each()      
      });//getJSON()
    });//keyup()
     
    //clic sur la croix efface l'ecran
    function efface() {
        var x = document.getElementById("fieldSearch");
        document.getElementById("results").innerHTML = "";
    }
    document.getElementById("fieldSearch").addEventListener("search", efface);
    });//document()
    alors comment pourrai-je remédier à celà et y a t-ils quelconques améliorations
    MERCI

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regardez le moniteur réseau de votre navigateur pour voir si les requêtes AJAX se passent comme prévu
    par exemple avec Firefox cela se passe là :
    https://developer.mozilla.org/fr/doc...ur_r%C3%A9seau

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    je ne pense pas que ça vienne de là mon problème :-/, ça vient sûrement de mon code, il n'est pas parfait
    ajax fonctionne bien javascript aussi et jquey.
    A+

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Rebonjour ;c'est encore moi, j'ai résolu le problème précédent, il reste tout de même un petit HIC...
    Après une recherche et quand je supprime le mot-clef dans la case de saisie, les anciens résultats restent malheureusement affichés.
    alors question: comment faire pour qu'ils disparaissent dans ces cas?
    Merci beaucoup pour votre aide à tous
    voici le nouveau code:
    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
    $('#search').keyup(function(){
      var searchField = $('#search').val();     
      var expression = new RegExp(searchField, "i");    
      $.getJSON('moteur.json', function(data) {
      $("#result").empty();
      $("#result").append("<p>Results for <b>" + searchField + "</b></p>");
       $.each(data.donnees, function(key, value){
        if (value.nom.search(expression) != -1 || value.description.search(expression) != -1)    
         $('#result').append('<li class="list-group-item link-class">'+value.nom+' | <span class="text-muted">'+value.description+'</span></li>');    
       });//each()   
      });//getJSON()   
     });//keyup()
     
     //click sur un item 
     $('#result').on('click', 'li', function() {
      var click_text = $(this).text().split('|');
      $('#search').val($.trim(click_text[0]));  
     });
     
    //clic sur la croix efface l'ecran
    function efface() {
        var x = document.getElementById("search");
        document.getElementById("result").innerHTML = "";
    }
    document.getElementById("search").addEventListener("search", efface);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-MAC 2004] Utilisation des "Function"
    Par patyom dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/02/2010, 18h32
  2. Utiliser une function comme slot?
    Par PFCPFC dans le forum Débuter
    Réponses: 10
    Dernier message: 13/03/2009, 15h15
  3. [Wamp] Utiliser la function e-mail avec Wamp
    Par luciedoudou dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 15/01/2009, 16h15
  4. utiliser la function locate avec Ttable Tquery PROBLEME
    Par jojojojo57 dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/03/2007, 14h45
  5. [FLASH MX2004] Utilisation de function
    Par mohican13 dans le forum Flash
    Réponses: 2
    Dernier message: 25/02/2005, 14h33

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