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 :

Autocompletion sur 2 champs input


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Par défaut Autocompletion sur 2 champs input
    Bonjour,

    Je suis à la recherche d'une méthode pour complété automatiquement deux champs inputs, j'y arrive sur un mais pour l'autre.

    Pour faire simple je cherche un article avec l'autocompletion et je voudrais qu'il me remplisse aussi la case référence.

    Voici mon code pour le coté html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $(document).ready(function() {
    	$('#article0').autocomplete({
    		serviceUrl: 'articlesearch.php',
    		dataType: 'json'
    	});
     
    });
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td><input type="text" id="ref0" name="ref0" placeholder="REF" value="" style="border:none;"/></td>
    <td><input type="text" id="article0" name="article0" placeholder="ARTICLE" value="" size="100%" style="border:none;"/>
    Pour le php :
    Code php : 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
    <?php
        if(isset($_GET['query'])) {
            // Mot tapé par l'utilisateur
            $q = htmlentities($_GET['query']);
            // Requête SQL
            $sql_article = mysql_query("SELECT libelle_article, ref_article FROM article WHERE libelle_article LIKE '%".$q."%' LIMIT 0, 10") OR die ("erreur search article".$sql_article);
     
            // On parcourt les résultats de la requête SQL
            while($resultat = mysql_fetch_object($sql_article)) {
                // On ajoute les données dans un tableau
                $suggestions['suggestions'][0] = $resultat->libelle_article;
    			//$suggestions['suggestions'][1] = $resultat->ref_article;
            }
     
            // On renvoie le données au format JSON pour le plugin
            echo json_encode($suggestions);
        }
    ?>
    Quelqu'un peut il m'aider ?

    merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2006
    Messages : 226
    Par défaut
    Salut,

    je pense qu'un truc du genre devrait fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $('#article0').autocomplete({
        source: [
            { value: "article1", refVal: "ref"},
            { value: "article2", refVal: "ref2"},
            { value: "article3", refVal: "ref3"},
            { value: "article4", refVal: "ref4"}
        ],
        select: function( event, ui ) {
            $('#ref0').val(ui.item.refVal)
        }
    });
    "source" ici sera à remplacer par ton appel php...

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Par défaut
    Effectivement avec la source ci-dessous ça fonctionne mais pas avec mon fichier php, une idée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    source: [
            { value: "article1", refVal: "ref"},
            { value: "article2", refVal: "ref2"},
            { value: "article3", refVal: "ref3"},
            { value: "article4", refVal: "ref4"}
        ]
    J'ai fais des modifs :

    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
     
    $q = htmlentities($_GET['query']);		
    $query=mysql_query("SELECT libelle_article, ref_article FROM article WHERE libelle_article LIKE '%".$q."%' LIMIT 0, 10"); 
    if ( ! $query )
    	die ('mysql_query error SELECT tiers' . mysql_error());
     
    $json=array(); 
    $return_json=array();
     
    while($row=mysql_fetch_array($query))
    {         
     
    	$row = array_map('utf8_encode', $row);
     
    	$critere = $row['ref_article'].' '.$row['libelle_article'].' '.$row['prix_article'];
    	$json['value'] = $row['libelle_article'];
    	$json['refVal'] = $row['ref_article'];
     
        array_push($return_json,$json);
     
    }  
     
     
    echo json_encode($return_json); 
    flush();
    exit;
    Pourtant si j'execute seulement le php j'obitens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"value":"ARTICLE TEST","refVal":"ABCD"},{"value":"ASTRA","refVal":"ZYX"}]

  4. #4
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Par défaut
    J'ai trouvé c'était $_GET["term"]; et non $_GET["query"];

    par contre avant j'avais en CSS ça :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
    .autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
    .autocomplete-selected { background: #F0F0F0; }
    .autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }

    comment puis-je l'adapter au nouveau code ?

    merci

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2006
    Messages : 226
    Par défaut
    heu... ça change quoi au css ? qu'est ce qui n'est plus comme avant ? théoriquement rien ne change...


    [edit] j'avais vu ton message précédent...
    c'est quelle version de jqueryui que tu utilises ?
    dans la doc api je ne trouve aucune trace de "serviceUrl"...

  6. #6
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Par défaut
    le css ne fonctionne plus car maintenant c'est du ui-menu et je n'arrive pas a obtenir le meme résultat, avant des qu'une lettre que tu taper été dans le résultat elle s'afficher en bleu au fur et à mesure, c'etait sympa

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2006
    Messages : 226
    Par défaut
    heu donc en fait je repose ma question finalement ^^

    c'est quelle version de jqueryui que tu utilises ?
    dans la doc api je ne trouve aucune trace de "serviceUrl"...

    ou alors tu utilises une autre librairie qui s'appelle aussi jquery.autocomplete...

Discussions similaires

  1. [AJAX] Autocompletion sur plusieurs champs
    Par popovitch130 dans le forum AJAX
    Réponses: 7
    Dernier message: 16/12/2011, 15h50
  2. Accepeter plusieurs mail sur un champs input
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/03/2009, 16h51
  3. contrôle sur plusieurs champs Input
    Par paolo2002 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/03/2008, 12h33
  4. [Conception] problème avec firefox sur les champs input type="file"
    Par maverick56 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 11/05/2007, 10h57
  5. Autocompletion sur plusieur champs texte
    Par Tempotpo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/07/2006, 15h20

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