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 02/12/2011, 10h56   #1
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Par défaut Comment passer un paramètre dans un ID

Bonjour,

Je cherche à passer un paramètre pour différencier plusieurs composants,
le composant liste :

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
<div id="select" class="select">
 <span id="select_text" class="select_text"><?php echo $loc_selected[0]->loc_nom; ?></span> <!-- Container select -->
 <img id="_select_opn" class="_select_opn" src="public/images/_select_opn.png"> <!-- Bouton affiche/masque la liste -->
 <div id="_select_list" class="select_list"> <!-- Si liste ouverte on peut sélectionner plusieurs ass sans fermer -->
  <span id="loc_selected" style="display: block;"><?php echo $loc_selected[0]->loc_nom; ?></span> <!-- Si clique, on ferme la liste, idem à bouton  -->
  <span class="_optgroup">Groupe ...</span>
  <?php 
  for ($i=0;$i<sizeof($ass_selected);$i++) {
  ?>
  <?php if ($i>0) { ?><br /><?php } ?><input type="checkbox" id="ass<?php echo $ass_selected[$i]->ass_code;?>" /> <label for="ass<?php echo $ass_selected[$i]->ass_code;?>" class="test"><?php echo sprintf("%02d",$ass_selected[$i]->ass_code).' - '.$ass_selected[$i]->ass_nom; ?>
  <?php } ?>
</div> 
</div>

Ce que je cherche à faire, c'est placer 2 composants liste ou plus sur la même page qui utiliseront des requêtes SQL différentes... Pour se faire, je passe un paramètre dans l'ID pour les différencier, enfin, je ne sais si c'est la bonne méthode non plus . Le paramètre une fois passé, est récupéré dans le script, mais voila ça ne fonctionne pas...

Code php :
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
<div id="select_ass" class="select">
 <span id="text_ass" class="select_text"><?php echo $loc_selected[0]->loc_nom; ?></span> <!-- Container select -->
 <img id="_select_opn" class="_select_opn" src="public/images/_select_opn.png"> <!-- Bouton affiche/masque la liste -->
 <div id="list_ass" class="select_list"> <!-- Si liste ouverte on peut sélectionner plusieurs ass sans fermer -->
  <span id="loc_selected" style="display: block;"><?php echo $loc_selected[0]->loc_nom; ?></span> <!-- Si clique, on ferme la liste, idem à bouton  -->
  <span class="_optgroup">Groupe ...</span>
  <?php 
  for ($i=0;$i<sizeof($ass_selected);$i++) {
  ?>
  <?php if ($i>0) { ?><br /><?php } ?><input type="checkbox" id="ass<?php echo $ass_selected[$i]->ass_code;?>" /> <label for="ass<?php echo $ass_selected[$i]->ass_code;?>" class="test"><?php echo sprintf("%02d",$ass_selected[$i]->ass_code).' - '.$ass_selected[$i]->ass_nom; ?>
  <?php } ?>
</div> 
</div>

<div id="select_speleo" class="select">
 <span id="text_speleo" class="select_text"><?php echo $loc_selected[0]->loc_nom; ?></span> <!-- Container select -->
 <img id="_select_opn" class="_select_opn" src="public/images/_select_opn.png"> <!-- Bouton affiche/masque la liste -->
 <div id="list_speleo" class="select_list"> <!-- Si liste ouverte on peut sélectionner plusieurs ass sans fermer -->
  <span id="loc_selected" style="display: block;"><?php echo $loc_selected[0]->loc_nom; ?></span> <!-- Si clique, on ferme la liste, idem à bouton  -->
  <span class="_optgroup">Groupe ...</span>
  <?php 
  for ($i=0;$i<sizeof($ass_selected);$i++) {
  ?>
  <?php if ($i>0) { ?><br /><?php } ?><input type="checkbox" id="ass<?php echo $ass_selected[$i]->ass_code;?>" /> <label for="ass<?php echo $ass_selected[$i]->ass_code;?>" class="test"><?php echo sprintf("%02d",$ass_selected[$i]->ass_code).' - '.$ass_selected[$i]->ass_nom; ?>
  <?php } ?>
</div> 
</div>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$("[id^='text_']").mousedown(function(e) {
		name = $(e.target).attr('id').substring(5); // Tout le reste, à partir de 5
		// alert(name); // ok
	});
 
	var select_text = $('#text_'+name);
	var select_opn = $('#select_opn');
	var select_list = $('#list_'+name);
	var loc_selected = $('#loc_selected');
 
	/**
	* Si mousedown sur select, bouton, .. : Ouvre/Ferme la liste
	*/
	$("#select_opn, #text_"+name+", #loc_selected").mousedown(function() {
		alert('tests');
	});
Merci d'avance des conseils
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 11h10   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 066
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 066
Points : 45 193
Points : 45 193
J'ai pas tout compris, mais j'ai l'impression que tu te mélanges un peu les crayons entre php et js

php est interprété coté serveur et ne peut que collere des elements fixes pour js

Montre nous plutot le html généré, ce sera plus clair
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 11h26   #3
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div id="select_ass" class="select">
<span id="text_ass" class="select_text">FFS</span>
<img id="add_ass" class="select_add" src="public/images/flt_select_add.png" />
<img id="opn_ass" class="select_opn" src="public/images/flt_select_opn.png" />
<div id="list_ass" class="select_list">
 <span id="selected_ass" class="ass_selected">FFS</span>
 <span class="optgroup">--- par région ---</span>
   <input type="checkbox" id="ass09" /><label for="ass09" class="checkbox">09 - Ari&egrave;ge</label>
   <br /><input type="checkbox" id="ass12" /><label for="ass12" class="checkbox">12 - Aveyron</label>
   <br /><input type="checkbox" id="ass31" /><label for="ass31" class="checkbox">31 - Haute-Garonne</label>
   <br /><input type="checkbox" id="ass32" /><label for="ass32" class="checkbox">32 - Gers</label>
   <br /><input type="checkbox" id="ass46" /><label for="ass46" class="checkbox">46 - Lot</label>
   <br /><input type="checkbox" id="ass65" /><label for="ass65" class="checkbox">65 - Hautes-Pyr&eacute;n&eacute;es</label>
   <br /><input type="checkbox" id="ass81" /><label for="ass81" class="checkbox">81 - Tarn</label>
   <br /><input type="checkbox" id="ass82" /><label for="ass82" class="checkbox">82 - Tarn-et-Garonne</label>
  </div> 
</div>
le parmètre est passé lors du mousedown

Code :
1
2
3
4
$("[id^='text_']").mousedown(function(e) {
		name = $(e.target).attr('id').substring(5);
			//alert(name); // Affiche "ass" ou ... si down
	});
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$(function() {
 
	var select = $("[id^='select_']");
 
	$("[id^='text_']").mousedown(function(e) {
		name = $(e.target).attr('id').substring(5);
			//alert(name);
	});
 
	var select_text = $('#text_'+name);
	var select_opn = $('#opn_'+name);
	var select_list = $('#list_'+name);
	var selected_def = $('#selected_'+name);
 
	/**
	* Si mousedown sur select, bouton, ... : Ouvre/Ferme la liste
	*/
	$("#opn_"+name+", #text_"+name+", #selected_"+name+"\"").mousedown(function() {
....
});
 
 
 
});
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 15h12   #4
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Avec le code suivant ça fonctionne, mais il faut recharger la page après avoir désigné (cliqué) sur la liste


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$(function() {
 
	var select = $("[id^='select_']");
 
	$("[id^='text_']").mousedown(function(e) {
		name = $(e.target).attr('id').substring(5);
			//alert(name);
	});
 
	var select_text = $('#text_'+name);
	var select_opn = $('#opn_'+name);
	var select_list = $('#list_'+name);
	var selected_def = $('#selected_'+name);
 
	/**
	* Si mousedown sur select, bouton, ... : Ouvre/Ferme la liste
	*/
	$("#opn_"+name+", #text_"+name+", #selected_"+name).mousedown(function() {
....
});
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 15h57   #5
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Inscription : mars 2008
Messages : 2 290
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 290
Points : 3 208
Points : 3 208
Code :
1
2
3
4
5
$("[id^='text_']").mousedown(function(e) {
		name = $(e.target).attr('id').substring(5); // Tout le reste, à partir de 5
		// alert(name); // ok
	});
donc
Code :
1
2
 
var wName = $("[id^='text_']").attr('id').substring(5);
Suffit, non?
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 18h16   #6
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Merci, j'utilisais la méthode onmousedown car cela me permettait de récupérer l'Id, ce cette façon je pensais réutiliser celui-ci pour le faire circuler dans le script et ainsi utiliser le même script pour plusieurs composants, m'enfin bref, j'ai pas trouvé la solution de toute façon et je galère encore...
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 09h50   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 066
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 066
Points : 45 193
Points : 45 193
pourquoi ne pas passer par le class ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 16h24   #8
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
c-a-d ?
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 19h04   #9
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 066
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 066
Points : 45 193
Points : 45 193
Ben mets ton "name" en class ... ça t'evitera d'avoir à parser l'id ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 20h56   #10
Membre régulier
 
Inscription : février 2009
Messages : 197
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 197
Points : 71
Points : 71
Un petit exemple svp parce que je ne vois pas trop l'idée.
dominos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h06.


 
 
 
 
Partenaires

Hébergement Web