2010-12-29 8 views
0

Ich möchte einige Änderungen in den folgenden Code vornehmen.jquery vote up down, um Hilfe bitten

Das obige Beispiel zeigt die berechnete Anzahl der Stimmen (Stimmen nach oben - Stimmen nach unten). Und wenn Sie auf irgendeinen Thumbe klicken, verschwinden die Daumen und die aktualisierten Stimmen. Ich möchte Änderungen vornehmen, die am Anfang zeigen, dass Sie abstimmen und getrennt abstimmen (die getrennt in der Datenbank gespeichert sind). und nachdem der Daumen nach oben oder unten gedrückt wurde, sollte er die Daumen nicht entfernen, aber er sollte die aktualisierte Stimme oben und unten getrennt anzeigen. Wie im Bild unten gezeigt. alt text

Hier sind Teile des Codes:

Startseite mit HTML/CSS und jQuery-Code. http://pastebin.com/RC6dj6N5

Abstimmung processng Code: http://pastebin.com/heszKyDc

PS. Ich habe versucht, mich selbst zu ändern, aber ich konnte es nicht tun. Jede Hilfe wird sehr geschätzt. Vielen Dank.

+0

Ihre Seite versucht, fireintheyear.com/in.cgi?15 zu laden, die von Google Safe Browsing blockiert wird. Bitte entfernen Sie den Link aus Ihrer Frage, um Nutzer nicht in Gefahr zu bringen. – Julien

+0

Eigentlich war das eine Demo, die ich per Google gefunden habe (nicht meine Seite), überraschenderweise habe ich keine Warnung bekommen, es hat mich auch nirgends umgeleitet, jedenfalls habe ich den Link entfernt. Hoffe, dass mir noch jemand helfen kann. – Billa

Antwort

1

Dies ist einfach, mit Ihrem PHP-Code fragen Sie die Datenbank ab, um herauszufinden, was die Upvote ist und was die Abstimmung unten ist. Gib jedes auf seinen jeweiligen Daumen aus.

Von hier aus gibt es zwei Möglichkeiten,
1 (ich das letztere tun würde): User klickt auf einen Daumen und es zurück an den Server und wird um 1 erhöht (aber es sollte eine Regel nicht werden negativ sein) Beiträge.

2: Verwenden Sie jQuery und Ajax. Sobald der Benutzer auf einen Daumen klickt, verwenden Sie Ajax, um die Datenbank abzufragen und die Abstimmung ohne vollständige Seitenladung zu aktualisieren. Der Ajax-Callback könnte die Abstimmung auf Seitenebene aktualisieren.
Oder
Wenn der Benutzer auf den Daumen klickt, wird der innere Wert automatisch um 1 erhöht und anschließend die Datenbank im Hintergrund aktualisiert. Sie können dort anhalten oder # 2 beim Rückruf ausführen.

1

Können Sie zeigen, wo Sie stecken geblieben sind?

Es sieht so aus, als müssten Sie curvotes[0] oder curvotes[1] zurückgeben, je nachdem, ob es sich um eine Abstimmung nach oben oder unten handelt, anstatt getEffectiveVotes.

Auch, anstatt nur die votes_count div im HTML, erstellen Sie eine für oben und eine für unten, die im Ajax Erfolg aktualisiert werden.

+0

Danke. Im ursprünglichen Code verschwindet das Thumbs Div nach dem Voting, aber ich möchte es auch nach dem Voting zeigen, ich habe versucht, einen Code von jQuery von der Hauptseite zu entfernen, aber es blieb dort hängen. – Billa

+0

Ja, ich habe versucht, die Funktion getEffectiveVotes zu ändern, da beide Werte (hoch und runter) von db abgerufen werden und der berechnete Wert berechnet und zurückgegeben wird. Ich habe versucht, beide Werte getrennt zurückzuliefern, scheint aber nicht zu funktionieren. – Billa

+0

"Es funktioniert nicht" ist ein schwer zu lösendes Problem. Sie sollten Ihre Änderungen einfügen. Um zu verhindern, dass die Daumen verschwinden, entfernen Sie die Aufrufe $ ('# voice_buttons') .remove() '. – statenjason