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 :

bouton "coche tous"


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut bouton "coche tous"
    Bonjour la communauté,
    j'utilise un javascript pour cocher tous les éléments de mon displaytag
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script  type="text/javascript">
    function checkall(theElement) {
    	var theForm = theElement.form;
    	var i = 0;
    	for(i=0; i<theForm.length; i++){
    	 if((theForm[i].type == 'checkbox') && (theForm[i].name != 'selectall')){
    		theForm[i].checked = theElement.checked;
    			 }
    	    }
    	}
    </script>
    mon displayTag qui permet de recevoir les données de ma table éléve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <display:table name="listEleve" uid="row" export="false"  pagesize="10">
    <display:column title="codeEleve" property="codeEleve" ></display:column>
    <display:column title="prenom" property="prenom" ></display:column>
    <display:column title="nom" property="nom"></display:column>
    <display:column title="<input type='checkbox' onClick='javascript:checkall(this);'/>" >
    <s:checkbox name="codeEleve" fieldValue="%{#attr.row.codeEleve}"></s:checkbox>
    </display:column>
    </display:table>
    le pagesize permet de mettre sur plusieurs pages si le nombre de résultats est supérieur a 10.
    Mon problème est que si je coche je bouton "coche tous" il ne le fait que pour les éléments de la page visible si le nombre de résultat est supérieur a 10.
    comment faire pour que tous les résultats soient prise en compte et non seulement la page visible.
    merci

  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
    38 979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    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 : 38 979
    Points : 65 382
    Points
    65 382
    Billets dans le blog
    1
    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 !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    en faite. j'avais deja recherché sur ce forum pour régler mon cas; j'ai eu a modifier mon script m'ai j'obtiens e meme résultat. si j'ai plusieurs résultats j'ai une liste déroulante. la méthode que j'ai tous les élément de la page visible seulement.

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    juillet 2004
    Messages
    4 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : juillet 2004
    Messages : 4 185
    Points : 9 093
    Points
    9 093
    Par défaut
    ben si la page n'est pas visible elle n'existe pas et on ne peut rien pour ce qui n'existe pas.

    bon en fait ton pb c'est que tu veux conserver une info de page en page.
    deux solutions soit tu passe ton info dans l'url soit tu utilise un cookie

    A+JYT

  5. #5
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    merci pour vos réponses.
    ce n'est pas invisible comme un hidden. J'utilise une fonction pagesize qui permet d'afficher a l'écran un nombre de résultat restreint et le reste sous forme de page au niveau du tableau.

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017
    Par défaut
    Bonjour,

    Tu n'as pas besoin de coder en js pour ça . Utilise CheckboxTableDecorator de displaytag. Cherche un exemple la dessus.

    A+.

  7. #7
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    j'utilise le TableDecorator assez souvent. mais en général j'utilise la ligne courante sélectionnée. comment faire pour recupérer toute la liste de la table.

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017
    Par défaut
    Normalement avec struts, tu peux utiliser un tableau pour les champs des checkbox dans ton ActionForm.

    A+.

  9. #9
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    bien sur M. aimé. j'utilise un tableau au niveau de l'action qui me permet de recevoir les lignes coché. mais avant d'en arriver laba il me faut cocher tous les données. merci

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017
    Par défaut
    Re,

    as tu essayé CheckboxTableDecorator? que se passe-t-il ?

  11. #11
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Non je n'ai pas encore utilisé CheckboxTableDecorator. Pourriez vous me donner quelques exemple sur ca? en attendant je vais voir si je pourrais trouver quelques chose

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Tu n'as pas besoin de coder en js pour ça . Utilise CheckboxTableDecorator de displaytag. Cherche un exemple la dessus.

    A+.
    Erreur de ma part, tu dois quand même utiliser la fonction js pour cocher et tout décocher. Par contre CheckboxTableDecorator te permet de garder les checkbox coché en allant sur d'autre page de la table. Recherche sur google, tu trouveras un exemple la dessous.

    A+.

  13. #13
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    je n'ai vu que la construction des méthodes de la classe CheckboxTableDecorator
    http://www.jarvana.com/jarvana/view/...java?format=ok .
    Comment faire pour l'utiliser

  14. #14
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017

  15. #15
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    les scriptlet je ne comprend pas bien. Pourrez t-on avoir une propriéte au niveau du tableau de la page jsp et dans une classe java comme les TableDecorator manipuler les objets

  16. #16
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017
    Par défaut
    Citation Envoyé par scrutin Voir le message
    Pourrez t-on avoir une propriéte au niveau du tableau de la page jsp et dans une classe java comme les TableDecorator manipuler les objets
    N'est ce pas déjà le cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <display:table name="sessionScope.testform" id="table" pagesize="10" decorator="checkboxDecorator"
            form="displ" excludedParams="_chk">
    ?
    Tu n'as qu'à mettre les scriplets dans le fichier java.

    A+.

  17. #17
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    merci pour vos réponse M. aimé et le temps que vous m'accordez. j'ai modifié un peu mon code suivant vos orientations.
    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
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib uri="/struts-tags" prefix="s"%> 
    <%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    <jsp:scriptlet>
        <![CDATA[
            if (request.getSession().getAttribute("listEleve")==null){
              request.getSession().setAttribute( "listEleve", new Eleve() );
            }
            org.displaytag.decorator.CheckboxTableDecorator decorator = new org.displaytag.decorator.CheckboxTableDecorator();
            decorator.setId("codeEleve");
            decorator.setFieldName("_chk");
            pageContext.setAttribute("checkboxDecorator", decorator);
                ]]>
      </jsp:scriptlet>
    mon display tag
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <display:table name="sessionScope.listEleve" uid="row" export="false"  pagesize="10">
    <display:column title="<input type='checkbox'/>" property="checkbox" >
    </display:column>
    <display:column title="codeEleve" property="codeEleve" ></display:column>
    <display:column title="prenom" property="prenom" ></display:column>
    <display:column title="nom" property="nom"></display:column>
    </display:table>
    j'ai mis un checkbox au niveau du titre qui me permettra de tout selectionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <display:column title="<input type='checkbox'/>" property="checkbox" >
    </display:column>
    maintenant comment faire pour tout selectionner en évitant les javascript

  18. #18
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 382
    Points : 15 017
    Points
    15 017
    Par défaut
    Citation Envoyé par scrutin Voir le message
    maintenant comment faire pour tout selectionner en évitant les javascript
    Citation Envoyé par andry.aime Voir le message
    Erreur de ma part, tu dois quand même utiliser la fonction js pour cocher et tout décocher. Par contre CheckboxTableDecorator te permet de garder les checkbox coché en allant sur d'autre page de la table. Recherche sur google, tu trouveras un exemple la dessous.

    A+.

  19. #19
    Nouveau membre du Club
    Inscrit en
    août 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : août 2010
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <display:table name="sessionScope.listEleve" uid="row" export="false"  pagesize="10" form="displ">
    <display:column title="<input type='checkbox'/>" property="checkbox" >
    </display:column>
    <display:column title="codeEleve" property="codeEleve" ></display:column>
    <display:column title="prenom" property="prenom" ></display:column>
    <display:column title="nom" property="nom"></display:column>
    </display:table>
    j'ai du enlever sessionScope pour afficher mes résultats.
    en enlevant form="displ" je parviens a passer sur les autres pages.
    mais j'ai remarqué en cliquant sur le bouton "coche tous" et en passant sur les autres pages que mes chekbox sont décochés.

Discussions similaires

  1. [CGI] bouton radio coché non désiré
    Par gerald2545 dans le forum Web
    Réponses: 4
    Dernier message: 12/09/2006, 14h19
  2. [Tableaux] Pb : bouton pré coché
    Par cyberdevelopment dans le forum Langage
    Réponses: 8
    Dernier message: 03/08/2006, 11h28
  3. annuler un bouton radio coché
    Par allowen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 30/05/2005, 13h41

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