2016-06-16 7 views
-1

2つのupvote/downvoteボタンを置くと、最初のボタンだけが動作します。 thisを確認してください。誰でも知っている、どのようにそれを修正するには?upvote/downvoteボタンが1つしか動作していません

+1

重複する「id」はありません。 – BenG

+1

外部リンクが来るかもしれないので、次回にあなたのHTML/JS/CSSをSOの質問に追加してください(将来はうまくいかないかもしれません)。 –

+0

あなたは 'storage'も1つしか持っていないので、' id'の問題を修正してもまだ動作しません。 –

答えて

2

両方ともbuttonsには同じidが割り当てられていますが、各要素のidは一意である必要があります。

あなたはclickイベントを結合して、それぞれのspanを見つけて、そのspanで票の投票とショーの数をカウントするclassを使用することができます。

また、カウンタは1つだけです。私は確信していませんが、2つの別個のボタンがあれば、2つのカウンターもなければならないと思います。ここで

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

はdownvoteボタンのコード

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

このコードの唯一の問題は 'id'ですか? –

+0

ボタンごとに固有のIDを作成する必要がありますか?各ボタンの別のJavaScriptを追加しますか?これはあなたが意味することですか?申し訳ありません、私は初心者のjavascripterです。 –

+0

@tehkc各ボタンには一意のidを割り当てるか、jsutは私が提供したコードを使用します。 – Mairaj

1

Hereが作業バージョンです。 2つのセクションに異なるIDとハンドラを使用する必要があります。

+0

私のウェブサイトには10​​00の投票ボタンがあります。これはスクリプトを長くします:(他の解決策はありますか? –

関連する問題