Je travaille sur une application Quiz où je dois obtenir tous les éléments sélectionnés ou les réponses de l'utilisateur. Ces éléments peuvent être une entrée radio, une entrée de case à cocher ou le champ de texte. Chaque élément reçoit un attribut question_id, answer_id et un attribut mark. Ce que je veux faire est que je dois obtenir tous ces questions, ID de réponse et marquer l'attribut afin que je puisse calculer les marques, et envoyer les deux question_id et answer_id à DB afin que je puisse stocker la réponse d'utilisateur sous une question particulière. J'ai rendu le questionnaire sur le modèle en utilisant ce code. Dites-moi comment obtenir les attributs des éléments sélectionnés pour soumettre le questionnaire.Comment faire une boucle sur tous les éléments sélectionnés d'une page HTML en utilisant jquery
Répondre
J'ai résolu ce problème m en obtenant tous les éléments disponibles dans le DOM par leur nom, en utilisant la méthode getElementsByName ('answer'). Il me retourne une liste puis boucle sur cette liste j'ai vérifié si l'élément est coché ou non s'il est coché je reçois leurs attributs.
attributes_list=new Array()
var answers=document.getElementsByName('answer');
for(i=0;i<answers.length;i++){
if(answers[i].checked){
question_id=answers[i].attributes['question_id'].value
answer_id=answers[i].attributes['answer_id'].value
attributes_list.push({'que':question_id,'ans':answer_id});
}
}
son très simple, il vous suffit d'utiliser element.attr(attributeName)
fonction
Un peu JSFIddle pour vous aider à aller
alert("Radio Mark " + $("#one").attr('mark') + ", Radio Value " + $("#one").attr('value'));
alert("check Mark " + $("#two").attr('mark') + ", check Value " + $("#two").attr('value'));
Anand, j'ai plusieurs éléments avec des classes et des ids dynamiques. il n'y a aucun ID ou classe de correctif pour aucun élément. –
Jut dites-moi comment je peux boucler sur les éléments sélectionnés et obtenir les valeurs de l'attribut requis –
juste utiliser $ (. Each), de la même manière que vous avez bouclé des données, de la même manière que vous pouvez boucle sur l'élément. Utilisez JSFiddle pour jouer avec JQuery – Anand
Je pense que cela va faire:
var questions = {};
$(".quiz :selected, .quiz :checked, .quiz input[type=text]").each({
var $this = $(this);
var question = $this.attr('question_id');
questions[question] = {
answer: $this.attr('class'),
};
});
Hey jcubic, j'ai apporté quelques modifications à la question d'origine, j'ai supprimé l'attribut marks du champ de saisie parce que je l'ai trouvé un ensemble de sécurité. Maintenant, je veux juste obtenir l'attribut question_id et answer_id de l'option d'entrée sélectionnée. votre aide est appréciable –
@ user1765969 a mis à jour le code. – jcubic
- 1. Comment faire une boucle sur tous les éléments parents en utilisant jQuery
- 2. Comment faire une boucle en utilisant JQUERY?
- 3. Comment effacer tous les éléments sélectionnés dans une entrée SELECT en utilisant jQuery?
- 4. Obtenez tous les éléments d'options sélectionnés de tous les éléments sélectionnés dans un formulaire
- 5. jQuery sélectionnable: Comment faire les éléments sélectionnés au 1er chargement
- 6. Comment faire une boucle sur tous les éléments de formulaire à l'intérieur d'une ligne de table en utilisant jquery?
- 7. Mise en boucle de tous les éléments sélectionnés avec JavaScript Bibliothèque de prototypes
- 8. Comment masquer tous les éléments sauf un en utilisant jquery?
- 9. jQuery: Lier la fonction JS à tous les éléments sélectionnés
- 10. Comment cacher certains éléments sur une page en utilisant jQuery
- 11. WPG DataGrid: modifier tous les éléments sélectionnés
- 12. Comment inverser les éléments sélectionnés dans plusieurs listes en utilisant une seule boucle for?
- 13. Récupérer tous les éléments sélectionnés d'une liste déroulante dans PHP en utilisant jquery
- 14. Masquer tous les éléments avec une classe en utilisant jquery
- 15. Afficher les éléments sélectionnés seulement dans une liste jquery
- 16. CodeIgniter afficher tous les éléments sélectionnés
- 17. Obtenez tous les éléments sélectionnés de asp.net ListBox
- 18. Comment faire un contrôle silverlight comboboxed qui afficherait dans tous les éléments sélectionnés sur le dessus?
- 19. jquery charge avant éléments sur une page
- 20. Besoin d'ajouter des éléments sélectionnés en utilisant jquery
- 21. Afficher les éléments sélectionnés même après avoir navigué vers une autre page en utilisant JQGrid
- 22. jQuery - tous les éléments de la page au tableau
- 23. Comment faire une boucle sur tous les fichiers d'un dossier en utilisant C?
- 24. comment spécifier jquery choisi éléments sélectionnés placeholder
- 25. Comment vérifier les éléments sélectionnés
- 26. jquery autocomplete: plusieurs éléments sélectionnés, comment ne pas afficher les éléments sélectionnés dans le menu déroulant?
- 27. Comment faire une boucle sur tous les éléments du chariot Magento?
- 28. Comment attacher des événements de clic sur des liens sélectionnés pour une page utilisant jQuery?
- 29. Comment sélectionner tous les éléments à l'exception de ceux avec une classe donnée, en utilisant jQuery?
- 30. jQuery boucle infinie sur les éléments RSS
Avez-vous besoin du sélecteur jquery qui sélectionne toutes les radios, les cases cochées et les zones de texte non vides? –
Non, Ayyappan Sekar, Je veux sélectionner les champs de réponse sélectionnés pour obtenir les attributs question_id et answer_id. Si je reçois seulement ces deux attributs ma tâche sera accomplie –
je peux vous aider si vous partagez le html rendu de ces quiz la liste –