jQuery'投票'影响所有元素的按钮

时间:2016-11-02 15:01:20

标签: jquery

我有一些div通过foreach循环(php)显示在我的页面上。在每个div中,有一个投票按钮,点击时应该增加1.当我点击一个div中的投票按钮时,所有投票都增加1.这里是我的jquery:

$(document).ready( function($) {
     $.ajax({
        url: "index.php",
        success: function( data ) {
        $('.fa-plus').each( function(){
            $(this).on('click', function(){
                var counter = 0;
                counter = counter+1;
                $('.votes').html(counter);

            })
        });
        }                  
    })  

我的标记片段,我为了简洁而修剪:

foreach ($applications as $application){
    echo '<div class="widget-main">',
            '<span class="pull-right votes" id="votes-count"><strong>0</strong>  </span>',
            '<h4 class="list-group-item-heading remove-margin"><i class="fa fa-  heart fa-fw"></i>'.$votes.' Votes</h4>',                           
            '<h4 class="list-group-item-heading remove-margin"><i class="fa fa-plus fa-fw"></i> Vote for '.$application ->_name.'</h4>',                        
        '</div>';
    }

P.S。我打算在数据库中插入投票。

2 个答案:

答案 0 :(得分:1)

&#13;
&#13;
$('.fa-plus').on('click', function(){
	var voteup = $(this);
	$.ajax({
		url: "index.php",
		data: {"increasevote":1},
		success: function(response){
			voteup.closest('.votes').text(response)
			}
		})
})
&#13;
&#13;
&#13;

  • 由于您有多个投票,因此在您的数据中包含一个标识符,以便您的脚本知道要更新的行
  • 你的php脚本获取传递的数据,更新数据库并返回总票数
  • 返回最近父母的总票数&#34;投票&#34;

答案 1 :(得分:0)

$(&#39; .votes&#39)。HTML(计数器);这条线似乎是罪魁祸首。它使用投票类将所有计数器分配给所有div。

您需要找到父级投票按钮。我不确定你的HTML,但你可以试试这个。

$(this).closest('.votes').html(counter);