Comment recuperer un id incrémenté en jquery
Bonjour a tous ,
voici mon input
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
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();
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
-
ModérateurBonjour,
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');
-
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();
-
-
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 -
ModérateurEn 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 );-
mon code html est dans une boucle foreach donc cout
mon html deviens comme caoui<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 auraid=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
-
-
@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 -
@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.
-
ModérateurAlors 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 );
-