Partage
  • Partager sur Facebook
  • Partager sur Twitter

sélectionner plusieurs input radio

via une variable incrémentée

Sujet résolu
    8 novembre 2010 à 16:43:40

    Bonjour,

    Je souhaite faire quelque chose d'assez simple mais je bloque.

    J'ai un formulaire avec une liste d'éléments que l'on peut sélectionner, et pour lesquels on peut choisir via un bouton radio deux options de sélection ("court" et "long").

    J'ai déjà mis en place un bouton javascript pour sélectionner tous les éléments, mais je voudrais en plus un bouton qui les sélectionne tous et sélectionne pour tous l'option "court" (donc qui sélectionne un des deux radio de l'élément)

    Voici le code HTML/PHP :
    <table>
       <?php 
            $i=0;
            while($t = mysql_fetch_array($r)) { 
                $titre = $t['titre'];
                $id = $t['id_film']; ?>
                <tr>
                    <td><input id="sel_film_<?php echo $i ; ?>" type="checkbox" value="sel_<?php echo $id ; ?>" name="sel_<?php echo $id ; ?>" /></td>
                    <td><?php echo $titre ; ?></td>
                    <td><input type="radio" id="fiche_longue_0_<?php echo $id ; ?>" checked="checked" name="fiche_longue_<?php echo $id ; ?>" value="0" /> courte</td>
                    <td><input type="radio" id="fiche_longue_1_<?php echo $id ; ?>" name="fiche_longue_<?php echo $id ; ?>" value="1" /> longue</td>
                </tr>
            <?php $i++; } ; ?>
        </table>
    


    Et ma fonction javascript pour tout sélectionner ($max est obtenu avec le $i du php qui augmente à chaque élément) :
    function sel_tout($max) {
    	for($i=0;$i<$max;$i++) {
    		document.getElementById('sel_film_'+$i).checked='checked' ;
    	}
    	return(false);
    }
    


    J'ai essayé document.getElementById('fiche_longue_0_'+$i).checked = 'checked' mais cela ne marche pas.

    J'ai vu que normalement pour sélectionner un input radio il fallait faire : formulaire.nom_du_radio[0].checked='checked' mais comment puis-je passer une variable à cela, du type formulaire.nom_générique_de_radio_+$i[0].checked ??

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      8 novembre 2010 à 17:18:28

      Salut,
      Déjà, pourquoi toutes tes variables javascript commencent par "$" ? C'est pas très beau... Sinon je ne vois pas ce qui marche pas, tu as des erreurs dans la console (Ctrl+Maj+J) ?
      Pour ta dernière question, pour accéder à un sous-objet, deux techniques :

      objet.sousObjet;
      // OU
      objet['sousObjet'];
      


      Tu dois donc utiliser la deuxième technique.
      • Partager sur Facebook
      • Partager sur Twitter
        8 novembre 2010 à 17:35:47

        Citation : LCaba

        Salut,
        Déjà, pourquoi toutes tes variables javascript commencent par "$" ?



        Je crains que ce soit des variables PHP jetées là comme des cheveux dans la soupe.
        • Partager sur Facebook
        • Partager sur Twitter
          8 novembre 2010 à 17:43:40

          Non non ce ne sont pas des variables php, c'est juste que j'ai commencé par le php et avec les $ ça marche alors... promis je les enlève ;)
          Sinon, concrètement, comment puis je faire pour générer

          formulaire.fiche_longue_1[1].checked='checked';
          formulaire.fiche_longue_2[1].checked='checked';
          formulaire.fiche_longue_3[1].checked='checked';
          etc. etc.

          à partir de ma variable incrémentée i (et non $i :-°) ?
          • Partager sur Facebook
          • Partager sur Twitter
            8 novembre 2010 à 20:08:46

            formulaire["fiche_longue_0_" + i ].checked = true;
            

            • Partager sur Facebook
            • Partager sur Twitter
              9 novembre 2010 à 12:25:00

              .checked et non .cheked ^^
              Mais je suppose que tu as corrigé.
              • Partager sur Facebook
              • Partager sur Twitter
                9 novembre 2010 à 17:57:12

                Oui oui, merci.
                Pour info l'erreur venait principalement d'une erreur dans mon codage php . L'id de mon bouton radio était construit avec l'identifiant de l'élément dans ma BDD ($id) au lieu de ma variable incrémentée ($i).
                Merci à tous!
                • Partager sur Facebook
                • Partager sur Twitter

                sélectionner plusieurs input radio

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown