Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2011, 12h35   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut UI Autocomplete et champs multiples

Bonjour à tous,

J'utilise jquery et autocomplete pour remplir des champs avec des données en provenance de la bdd, et c'est super...tant que je n'ai qu'un champ.
Là je suis confronté à un problème : l’utilisateur peut choisir combien de champs il veut afficher, et, avec une boucle PHP je lui affiche le nombre de champs voulu. Je veux l'autocomplétion sur tous ces champs....
et bien sûr j'ai un problème d'ID.

Code :
1
2
3
4
5
 
<?php
for($i=0;$i<$nb;$i++){
echo '<input type="text" name="choix[]" id="choix_'.$i.'">';
}
Ca c'est l'affichage des champs.
Côté JS :

Code :
1
2
3
4
5
6
7
 
$().ready(function() {
	$("#choix_").autocomplete({
		url: 'select.php',
		maxItemsToShow: 30
	});		
});
Dans ces conditions, comment faire ?
J'ai tenté de bidouiller plein de trucs nazes, mais là...plus d'ID !
Merci de vos pistes ou indications.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 15h01   #2
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Bon, j'ai finalement trouvé, pour ceux que ça intéresse :

On met une classe bidon aux champs, à la place des ID :
Code :
1
2
3
4
5
 
<?php
for($i=0;$i<$nb;$i++){
echo '<input type="text" name="choix[]" class="auto-complete">';
}
Et dans le JS :

Code :
1
2
3
4
5
6
7
8
 
$items = $(".auto-complete");
	$.each($items, function(i, val) {
		$(val).autocomplete({
			url: 'select.php',
			maxItemsToShow: 30
	});	
});
Et c'est impec !
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 19h15   #3
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Code :
1
2
3
4
5
6
7
8
$(function(){
	// http://api.jquery.com/?ns0=1&s=attribut
 
	$("[id^='choix_']").autocomplete({
		url: 'select.php',
		maxItemsToShow: 30
	});
});
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h31.


 
 
 
 
Partenaires

Hébergement Web