2016-06-16 6 views
-1

Wenn ich 2 Upvote/Downvote-Taste, dann nur die 1. Schaltfläche funktioniert. Überprüfen Sie this. Weiß jemand, wie man es repariert?Nur 1 Upvote/Downvote-Taste funktionieren

+1

doppelte 'ID's sind ein Nein Nein. – BenG

+1

Bitte fügen Sie Ihre HTML/JS/CSS der SO-Frage das nächste Mal hinzu, da externe Links kommen und gehen können (sie funktionieren möglicherweise in Zukunft nicht mehr). –

+0

Sie haben auch nur einen "Speicher", also würde es immer noch nicht funktionieren, selbst wenn Sie das 'id' Problem behoben haben. –

Antwort

2

Sie haben buttons die gleiche id angegeben, während die id jedes Elements eindeutig sein muss.

können Sie einen class verwenden, um die click Ereignis und finden Sie die jeweiligen span und zählen die Stimmen und zeigen Anzahl der Stimmen in diesem span zu binden.

Auch Sie haben nur einen Zähler. Ich bin mir nicht sicher, aber ich denke, wenn es zwei getrennte Knöpfe gibt, sollte es auch zwei Zähler geben.

$(".buttonup").click(function() { 
    var vote = checkIfUserVoted() != votePlus ? votePlus : counter; 
    localStorage.setItem("voted", vote); 
    $(this).next().text(vote); 
}); 

ist hier downvote Button-Code

$(".buttondw").on('click', function() { 
    var vote = checkIfUserVoted() != voteMinus ? voteMinus : counter; 
    localStorage.setItem("voted", vote); 
    $(this).prev().text(vote); 
}); 
+1

Ist die gleiche 'ID' das einzige Problem mit diesem Code? –

+0

Also sollte ich eine eindeutige ID für jede Schaltfläche erstellen? und fügen Sie ein weiteres Javascript für jede Schaltfläche hinzu? Ist das was du meinst? Tut mir leid, ich bin Neuling Javascripter. –

+0

@tehkc können Sie entweder jeder Taste eindeutige ID zuweisen oder nur den Code, den ich zur Verfügung gestellt habe. – Mairaj

1

Here eine Arbeitsversion ist. Sie müssen verschiedene IDs und Handler für die beiden Abschnitte verwenden ...

+0

Meine Website wird 1000 Abstimmungsknöpfe haben.Dies macht das Skript lang :(Irgendeine andere Lösung? –