Comment recuperer un id incrémenté en jquery

Bonjour a tous ,

voici mon input

<input type="radio" name="reponses'.$nbquestionnaires.'" id="reponses'.$nbquestionnaires.'">

mon soucis comment récupérer mon id en jquery tout en récupérant aussi $nbquestionnaires.

genre pour recuperer mon id je sais qu'on fait
var reponse=jQuery("#reponses" ).val();


mon soucis comment reponses suivit de la valeur qui contient $nbquestionnaires

example :si $nbquestionnaires contient le chiffre 1,2,3.........

comment recuperer var reponse=jQuery("#reponses+$nbquestionnaires" ).val();
qui sera comme ca var reponse=jQuery("#reponses1" ).val(); ou
var reponse=jQuery("#reponses2" ).val();

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

3 réponses

  1. Modérateur
    En même temps... si tu changes tout ce que j'ai écrit .. normal que ça ne fonctionne plus.....

    Ton HTML doit être comme ceci :
    <input type="radio" 
              name="reponses" 
              id="reponses_'.$nbquestionnaires.'" 
              data-nbquestionnaires="'.$nbquestionnaires.'" 
              value="1">
    


    Et dans ce cas... le JAVASCRIPT sera :
    var valueReponse = $("input[name='reponses']:checked").val();
    var nbquestionnaires = $("input[name='reponse']:checked").data('nbquestionnaires');
    var id =  $("input[name='reponse']:checked").attr('id');
    
    //pour afficher
    alert("ID ="+id);
    alert("nbquestionnaires ="+nbquestionnaires );
    alert("valueReponse ="+valueReponse );
    
    1. mon code html est dans une boucle foreach donc cout
      mon html deviens comme ca
      oui<input type="radio" 
                name="reponses_'.$nbquestionnaires" 
                id="oui_'.$nbquestionnaires.'" 
                data-nbquestionnaires="'.$nbquestionnaires.'" 
                value="1">

      non<input type="radio" 
                name="reponses_'.$nbquestionnaires" 
                id="non_'.$nbquestionnaires.'" 
                data-nbquestionnaires="'.$nbquestionnaires.'" 
                value="1">

      dans ce cas ,comment on ecrira cette ligne,surtout le name comment on l'ecrira?

      var valueReponse = $("input[name='reponses??????']:checked").val();

      parce que dans la premiere ligne du foreach on aura
      id=oui_0 ,name=reponses_0 pour le oui
      id=non_0 ,name=reponses_0 pour le non
      deuxieme lignes
      id=oui_1 ,name=reponses_1 pour le oui
      id=non_1 ,name=reponses_1 pour le non
    2. Modérateur
      POURQUOI tiens tu à mettre qqchose dans le NAME ???
      Ecris SIMPLEMENT : name='reponse' dans ton INPUT !
      Il est où le souci ????

      Pour gagner du temps... donnes nous le code complet de ta page ..... parce que là ... tu me fais tourner en rond !
    3. @jordane45
      	
      foreach ($ToutesLesquestionnaires as $Unequestionnaire)
      			{
      		
      				
      				
      
      				$listequestionnaires.="<tr bgcolor='#FFFFFF' style='font-size:11px'>";
      				$listequestionnaires.="<td class='modal_form'>".$Unequestionnaire->idquestions_sante."</td>";
      				$listequestionnaires.="<td class='modal_form' style='white-space:inherit'>".$Unequestionnaire->questions_santelibelle."</td>";	
                      $listequestionnaires.='<td class="modal_form"><input type="radio" name="reponses_'.$nbquestionnaires.'"id="oui_'.$nbquestionnaires.'" data-nbquestionnaires="'.$nbquestionnaires.'"  style="display:inline">oui<br/>';
      				$listequestionnaires.='<input type="radio" name="reponses_'.$nbquestionnaires.'" id="non_'.$nbquestionnaires.'" data-nbquestionnaires="'.$nbquestionnaires.'" style="display:inline" value="1">non</td>';
                      $listequestionnaires.='<td class="modal_form"><textarea name="autres_'.$nbquestionnaires.'" id="autres_'.$nbquestionnaires.'" style="width:100px;height:25px;"></textarea></td>';			
      				$listequestionnaires.="</tr>";
      					
      			}
      			
      				$listequestionnaires.="</table>";
      				
      		}
      

      si je mets simplement reponses dans mon name,mes deux boutons radios oui et non pouront etre choisit en meme tps les deux,or je souhaite selectionner qu'un seul bouton ca d soit oui soit non
    4. @alalicomment récupérer les informations du name incrémenté,c'est ça mon soucis,sinon si on incrémente pas le name on pourra selectionner les deux buttons en meme temps,or moi je veux qu'on selectionne qu'un seule bouton.
    5. Modérateur
      Alors on va faire autrement....
      On va passer par une classe fictive qu'on va nommer "radioOuiNon"

      
      foreach ($ToutesLesquestionnaires as $Unequestionnaire){
       $listequestionnaires.="<tr bgcolor='#FFFFFF' style='font-size:11px'>
                               <td class='modal_form'>".$Unequestionnaire->idquestions_sante."</td>
                   <td class='modal_form' style='white-space:inherit'>".$Unequestionnaire->questions_santelibelle."</td> 
                   <td class='modal_form'>
                    <input type='radio' 
                            class ='radioOuiNon'
                        name='reponses_$nbquestionnaires' 
                        id='oui_$nbquestionnaires' 
                        data-nbquestionnaires='$nbquestionnaires'  
                        style='display:inline'>oui<br/>
                    <input type='radio' 
                           class ='radioOuiNon'
                        name='reponses_$nbquestionnaires' 
                        id='non_$nbquestionnaires'
                        data-nbquestionnaires='$nbquestionnaires' 
                        style='display:inline' value='1'>non
                   </td>';
                   <td class='modal_form'>
                    <textarea name='autres_$nbquestionnaires' 
                              id='autres_$nbquestionnaires' 
                         style='width:100px;height:25px;'></textarea>
                   </td>';   
                   </tr>";
         
       }
      


      Ensuite, en Javascript, tu peux simplement faire :

      var radioElm =$(".radioOuiNon:checked");
      
      var valueReponse = elmChecked.val();
      var nbquestionnaires = elmChecked.data('nbquestionnaires');
      var id =  elmChecked.attr('id');
      
      //pour afficher
      alert("ID ="+id);
      alert("nbquestionnaires ="+nbquestionnaires );
      alert("valueReponse ="+valueReponse );
      
      
  2. 	var valueReponse = jQuery("input[name='reponses_']:checked").val();
    												
    												var nbquestionnaires = jQuery("input[name=reponses_]:checked").data('nbquestionnaires');
    												
    												var id =  jQuery("input[name=reponses_]:checked").attr('id');
    													 alert(nbquestionnaires);exit(); avec ca rien ne s'affiche 
    1. Modérateur
      Bonjour,

      As tu entendu parlé des DATA-ATTRIBUTES ?

      
      <input type="radio" 
                name="reponses" 
                id="reponses_'.$nbquestionnaires.'" 
                data-nbquestionnaires="'.$nbquestionnaires.'" 
                value="1">
      


      Et des SELECTEURS en JQUERY ? il existe le :checked .... très pratique pour les radios et les checkboxes.

      var valueReponse = $("input[name='reponses']:checked").val();
      var nbquestionnaires = $("input[name=reponse]:checked").data('nbquestionnaires');
      var id =  $("input[name=reponse]:checked").attr('id');
      


      1. bjr jordane45 pour etre claire dans ma question,j'ai deux boutons radio qui sont:
        
        '<input type="radio" name="reponses_'.$nbquestionnaires.'" id="oui_'.$nbquestionnaires.'" data-nbquestionnaires="'.$nbquestionnaires.'"  style="display:inline">oui<br/>
        
           <input type="radio"  name="reponses_'.$nbquestionnaires.'" id="non_'.$nbquestionnaires.'" data-nbquestionnaires="'.$nbquestionnaires.'" style="display:inline">non 
        
        lorqu'on check sur oui il recupere l'identifiant ou on a clické sur le bouton radio.
        
        lorque je fais avec ce que tu as mis il n'affiche rien c'est a dire la recuperation ne se fait pas
        
        var valueReponse = $("input[name='reponses']:checked").val();