2016-06-13 8 views
2

を嫌う私はすべてのポストどのように同類を増やす&適切

1上のボタンを持っている)ボタン

と同様にボタンがここに

を示しているとは異なり、ユーザが既にポストを気に入った場合はHTMLの一部であり、ユーザがすでにポストを気に入った場合、ユーザーはポスト

<a href="javascript:void(0);" id="liker" data-count="0" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Like</a> 

が気に入らなかった場合に

<a href="javascript:void(0);" id="unliker" data-count="1" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Unlike</a> 

ここではjqueryの一部であり、この部分のような要求のために一部下記

$(function() { 
    $("body").on("click", "#liker", function() { 
     var t = $(this).data("id"), 
      a = $(this).data("count"), 
      f = $(this).data("fpc"); 
     a++; 
     $("#cyli" + f).text(a); 
     $(this).attr('id', 'unliker'); 
     $(this).data('count', a); 
     $(this).text('Unlike'); 
     i = this, $.ajax({ 
      type: "POST", 
      url: "/ajax/liker?io=" + t, 
      data: "id=" + t, 
      success: function(t) {} 
     }) 
    }); 
}); 

を送っ値と同じように要求

$(function() { 
    $("body").on("click", "#unliker", function() { 
     var t = $(this).data("id"), 
      a = $(this).data("count"), 
      f = $(this).data("fpc"); 
     a -= 1; 
     $("#cyli" + f).text(a); 
     $(this).attr("id", "liker"); 
     $(this).data('count', a); 
     $(this).text("Like"); 
     i = this, $.ajax({ 
      type: "POST", 
      url: "/ajax/unliker?io=" + t, 
      data: "id=" + t, 
      success: function(t) {} 
     }) 
    }); 
}); 

とは異なり送るこのタグで今<i class="fa fa-thumbs-up" id="cyli481" aria-hidden="true">&nbsp; 0</i>

示されています問題は、私が好きなものをクリックしたり、値が適切に追加されたり差し引かれたりしなかったりすることです。

例えばdata-count = "0"の場合、この投稿には好き嫌いがありますが、それをクリックすると自動的に2になり、違うボタンをクリックすると-1となります方法

+1

は、なぜあなたは、単に '= 1 '&' = 0 'で' ++を ''&A- = 1'代わるものではありません。

は、このコードを試してみてください?それは完璧ではないし、あなたの質問に答えることはできませんが、問題は解決します – tektiv

答えて

0

$(this).data("count")$(this).data("count", a)$(this).attr("data-count")$(this).attr("data-count", a)に変更するだけで動作します。

$(function() { 
 
    $("body").on("click", "#liker", function() { 
 
     var t = $(this).data("id"), 
 
      a = $(this).attr("data-count"), 
 
      f = $(this).data("fpc"); 
 
     a++; 
 
     $("#cyli" + f).text(a); 
 
     $(this).attr('id', 'unliker'); 
 
     $(this).attr('data-count', a); 
 
     $(this).text('Unlike'); 
 
     i = this, $.ajax({ 
 
      type: "POST", 
 
      url: "/ajax/liker?io=" + t, 
 
      data: "id=" + t, 
 
      success: function(t) {} 
 
     }) 
 
    }); 
 
}); 
 
$(function() { 
 
    $("body").on("click", "#unliker", function() { 
 
     var t = $(this).data("id"), 
 
      a = $(this).attr("data-count"), 
 
      f = $(this).data("fpc"); 
 
     a -= 1; 
 
     $("#cyli" + f).text(a); 
 
     $(this).attr("id", "liker"); 
 
     $(this).attr('data-count', a); 
 
     $(this).text("Like"); 
 
     i = this, $.ajax({ 
 
      type: "POST", 
 
      url: "/ajax/unliker?io=" + t, 
 
      data: "id=" + t, 
 
      success: function(t) {} 
 
     }) 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<a href="javascript:void(0);" id="liker" data-count="0" data-fpc="481" data-id="cDJod1RnUU45eXBQWmp">Like</a> 
 
<i class="fa fa-thumbs-up" id="cyli481" aria-hidden="true">&nbsp; 0</i>

関連する問題