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

JavaScript Discussion :

pointer un checkbox sans id


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 12
    Points
    12
    Par défaut pointer un checkbox sans id
    Bonjours a tous.
    J'ai un peitit probleme avec une page jsp sur le quel je me casse la tete en ce moment.
    Bon deja je saurais pas trop quoi chercher donc j'ai pas utilisé le bouton recherche avant de poster donc si en lisant quelqu'un a un lien ou c'est deja resolu ce serait parfait.
    Le probleme en fait est tout bete j'ai un tableau dans une page qui a une des colonnes qui a un checkbox
    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
     
    		<table class="wide tableSpace zebra">
    			<tr >
    				<th class="pointer">CODICE</th>				
    				<td class="tdTickBox">
    					<input type="checkbox" id="idCheckHd" name="DCB" 
    					title="Seleziona tutto" onClick="selectAllCheckBox()" />
    				</td>				
    			</tr>
     
     
    			<c:forEach items="${resultList.lista}" var="evento">
    				<tr class="pointer" >
    					<!-- 1 -->
    					<td class="small text_center" valign="middle" 
    					<c:out value="${evento.id}"/>
    					</td>
    					<td class="tdTickBox">
    						<input type="checkbox"  name='testCheck' 
    							onClick="checkBoxSelected('<c:out value="${evento.id}"/>')" />
    					</td>					
    				</tr>
    		</table>
    voici le code javascript:
    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
     
    var listIdChecked = new Array(); 
    		function selectAllCheckBox () {
    			var input = $('[type=checkbox]');
    			var hdCheck = document.getElementById('idCheckHd');
    			if(hdCheck.checked==true){
    				for (i = 0; i < input.length; i++)
    					input[i].checked = true ;
    				lista[i]=i
    			}else{
    				for (i = 0; i < input.length; i++)
    					input[i].checked = false ;		
    			}			
    		}
    		function checkBoxSelected(data){
    			listIdChecked.push(data);
    		}
    en gros qu'est ce que je fait ? ( ou alors espere de faire )
    quand on selectione un checkBox je voudrais remonter a l'objet checkBox qui a ete selectioné pour pouvoir faire un petit test et comme ça s'il est "checké" je sauve la valeur de evento.id dans ma liste et dans le cas contraire j'elimine cette valeur de ma liste de facon a avoir a la fin dans la liste seulement les evento.id des "lignes" qui ont le checkBox selectionné. Comme vous remarquez la construction des lignes du tableau est dinamique donc j'ai pas d'id a partir duquel remonter.
    j'espere que j'ai ete clair.
    Si quelqu'un a des idees sur la facon de resoudre ce probleme je suis partant meme si c'est different de ce que j'avais en tete.
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    getElementsByName()
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    getElementsByName()
    je comprends pas bien comment je devrai utilser le get elementbyName parceque normalement j'ai pas le name de l'objet puisquil est generé dans un foreach en fait c'est une erreur qu'il y'ai la propriete name dans le code que j'ai publié parceque si j'ai 5 elements dans l'array sur le quel je cicle j'aurais 5 element avec le meme nom... c'est valable aussi pour l'id

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben d'a^près le code donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByNane('testCheck')
    te retournera la collection de tes checkboxes ....
    il ne te reste plus qu'a boucler dessus pour tester le checked ..
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ben d'a^près le code donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByNane('testCheck')
    te retournera la collection de tes checkboxes ....
    il ne te reste plus qu'a boucler dessus pour tester le checked ..
    j'y avait deja pensé mais ça fonctionerai que la premiere fois que je selectionne un check. Dans le cas ou je selectione un 2em check en parcourant la liste je saurais pas le quel des 2 je dois selectionner.

    Anyway j'ai trouvé une solution grace a ton ideé de getElementsByNane .Il suffisait juste de generer aussi le name ou l'id de chacun des checkbox au moment de leur construction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td class="tdTickBox"><input type="checkbox" id="<c:out value='${evento.id}'/>"  name='testCheck' onClick="checkBoxSelected('<c:out value="${evento.id}"/>')" /></td>
    dans ce cas l'id est directement la valeur de evento.id qui est unique pour chaque ligne du tableau du coup je peux remonter a mon objet.
    merci pour ton aide.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ATTENTION !!!!
    un id doit être unique sur une page !!!
    attribues leur le même name
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ATTENTION !!!!
    un id doit être unique sur une page !!!
    attribues leur le même name
    c'est ce que j'ai fait . J'avais lu quelque part que c'est pas trop souvent une bonne idée d'utiliser les ids

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

Discussions similaires

  1. Transmettre valeur checkbox SANS bouton "Submit"
    Par rudylar dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 25/06/2008, 17h48
  2. Checkbox sans EditMode ?!
    Par Friedrick dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/02/2008, 20h03
  3. checkbox sans valeur
    Par Mat_DZ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/10/2006, 15h02
  4. Input Checkbox sans <Form> Possible ?
    Par Arvulis dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/08/2006, 11h02
  5. Réponses: 8
    Dernier message: 18/11/2005, 18h22

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