Bonjour, Je suis en train de créer un "forum" dans lequel un utilisateur peut soumettre un message et sera affiché. Je voudrais l'option d'ajouter un commentaire.jquery comment ajouter des commentaires à un article
Je fais tout ce qui est côté client.
Voici le code pour générer le forum:
$.get(url, page, function(data){
$("#forum").html("");
for(var i in data)
{
$("#forum").append(buildForumEntry(data[i]));
}
});
// Builds the forum entry
function buildForumEntry(post)
{
var titleAndType = '<div><span class="forum-title">'+post.title+'</span>'+buildType(post.type)+'</div>';
var author = "<div class=\"forum-author\">By: "+post.author+" on "+formatDate(post.date)+"</div>";
var body = "<pre>"+post.body+"</pre>";
var comment = "<div class=\"forum-comment\"> <div class=\"btn-group\"><a class=\"btn btn-mini btn-primary\" role=\"button\" data-toggle=\"modal\" id=\"btn-forum-comment\"><i class=\"icon-comment icon-white\"></i> comment</a></div></div>";
var footer = "<hr style=\"border-top: 1px dotted #b0b0b0;border-bottom: 0px\">";
var entry = titleAndType+author+body+comment+footer;
return entry;
}
Comment pourrais-je faire quand je clique sur le commentaire BTN Je prends des informations du poste? Toujours dans cet appel de méthode:
// Button comment
$("#btn-forum-comment").click(function() {
alert("clicked");
});
Ce ne fonctionnera pas parce qu'il ya plus de 1 types de "id = BTN-forum-commentaire". Dois-je utiliser un cours? Si oui, comment puis-je saisir plus d'instance le titre de la publication de sorte que lorsque je poste sur mon serveur, je peux mettre à jour l'entrée correcte.
MISE À JOUR: la classe ne fonctionne pas à partir du forum généré. Le clic sur le bouton ne se déclenche pas. Des idées? Je rencontre des problèmes avec le clic, je pense qu'il doit faire quelque chose avec le chargement dynamique. J'applique la classe à un HTML codé en dur et cela fonctionne. Mais pas avec les remerciements dynamiques.
UPDATE2: mise à jour pour les futurs utilisateurs. Je avais besoin d'utiliser la fonction de délégué
$("#forum").delegate(".btn-forum-comment", "click", function() {
console.log("clicked");
alert($(this).attr('id')+" clicked");
});
certainement utiliser une classe, ID de sont uniques! – tymeJV
Je n'ai jamais utilisé de cours, comment pourrais-je y aller? et en saisissant les informations du message cliqué? – Jareddlc
Vous avez de gros problèmes si vos identifiants ne sont pas uniques, vous devez vous assurer que tous les identifiants sont uniques dans votre code HTML. – Hogan