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 :

Jquery Autocomplete --> Récupérer la valeur de l'input


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Par défaut Jquery Autocomplete --> Récupérer la valeur de l'input
    Bonjour à tous..

    Un petit problème tout simple, mais ce matin je n'ai pas trop la tête aux casses têtes.

    Voilà, j'ai un autocomplete JQuery qui me liste des numéros de commandes.
    Pas de soucis pour cela; il fonctionne.

    J'ai juste un problème pour récupérer la valeur de ce qui est renvoyé par l'autocomplete.

    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
     
    <script>
    $(document).ready(function() {
        $('#value_new_com').autocomplete('./ajax/list_autocomplete.php');	
    });
     
    function Go_new_com()  
    	{			
    	var numcom = $("#value_new_com").val();	
    	alert(numcom);
    	$.post("ajax/valid_cmde_autocomp.php", {nc:numcom} );
    	$('#general').load('v3_saisie_bons_livraison.php');
    	}	
    </script>
     
    <form id="new_num_com" method="POST" onchange="Go_new_com();">
    <input type="text" id="value_new_com" style='width:100px; background:#cbc6bd; font-size:14px; padding:2px 2px 3px 2px;' >
    </form>
    --> Si je saisis 25
    --> il me propose toute une série de réponse correspondant
    --> Je sélectionne celle qui me convient ( ex 256879 )
    --> MAIS il me retourne 25 et pas 256879.

    Quelqu'un à une idée ?
    Meci.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Je crois que le coupable est ici : onchange="Go_new_com();".

    Lorsque vous tapez 25, la valeur de l'input a changé.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Par défaut Plus simple avec Jquery UI [RESOLU]
    Bien.
    Bonjour à tous..

    Merci pour la réponse précédente, mais la piste n'était pas la bonne.

    J'ai finalement opté pour le plug-in jquery UI qui est plus complet.

    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
     
    	<script>
    	$(function() {
     
    	$( "#new_com" ).autocomplete({
    	source: "./ajax/list_autocomplete.php",	 
    	select: function( event, ui ) 
    	{			
    	$.ajax({
    	url: "./ajax/valid_cmde_autocomp.php",
    	data: {"nc": ui.item.value},
    	dataType: "html",
    	type: "POST",
    	success: function(data){
    	$("#definition").html(data);
    	$('#general').load('v3_saisie_bons_livraison.php');					
    	$('#nav').load('navigation.php');
    	}
    	});
    	}
     
    	});
    	});
    	</script>
     
     
    	<div class="ui-widget">
    	<input id="new_com" style="width:120px;"/>
    	</div>

    Et pour faire exhaustif, le code du fichier list_autocomplete.php sur lequel j'ai un peu galéré, la clé de la réussite reposant sur l'encodage json de la réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $term = htmlentities($_GET['term']); 
    		$return=array(); 
    		connect();	/// ma procédure de connction perso, à vous de mettre la votre.	
    		$sql = "SELECT num_com FROM commandes WHERE statut_com='1' AND num_com LIKE '".$_GET['term']."%'";
    		$req = mysql_query($sql);
     
    		while($autoCompletion = mysql_fetch_assoc($req))
    		{	
    		$return[]=$autoCompletion[num_com]; 
    		}   
    		echo(json_encode($return));

    Bon codage à tous.

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

Discussions similaires

  1. [Selenium] Récupérer la valeur d'un input type hidden
    Par gecko753 dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 31/12/2009, 11h37
  2. récupérer la valeur d'un input text après modification
    Par Tellounet dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/05/2009, 09h30
  3. [Prototype] Récupérer les valeurs de plusieurs input
    Par rockt13 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 13/02/2009, 09h56
  4. Récupérer la valeur d'un input hidden
    Par Jimmy_S dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 04/01/2008, 11h42
  5. récupérer la valeur d'un input file
    Par july dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/11/2007, 11h17

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