2013-06-28 46 views
3
<iniput type="button" id="like"> 
<span id="like_num"><?PHP echo $like;?></span> 

$(document).ready(function(){ 
    $("#like").click(function(){ 
    $('#like_num').html(function(i, val) { return val*1+1 });  
    }); 
}); 

我有一個類似的按鈕,我需要在jQuery中單擊後增加php $ like值+1。我使用jquery後,但我不想回調(輸出),它種類的wast查詢...我只想添加1,所以用戶知道他們成功點擊。在jQuery中增加PHP值+1(如按鈕)

任何人都知道該怎麼做?

回答

2

如果doen't需要傳達回服務器,我想這將工作:

$(document).ready(function(){ 
    $("#like").click(function(){ 
    var count = parseInt($('#like_num').text()); 
    $('#like_num').text(count + 1);  
    }); 
}); 

這是假設你知道$喜歡的始終是一個整數,您在更新等等計數在一個單獨的電話服務器。

編輯: 這裏有一個小提琴:http://jsfiddle.net/AJxKb/

在這種情況下,它需要去服務器太:

$(document).ready(function(){ 
     $("#like").click(function(){ 
     var count = parseInt($('#like_num').text()); 
     $('#like_num').text(count + 1); 

     $.ajax("http://yourdomain.com/update_like.php").done(function() { 
      //You can update the counter here too instead of assuming it was a success 
      }) 
     }); 
    }); 

而且在update_like.php文件:

<?php 
    $like = GetNumberOfLikesFromWhereeverTheyAreStored(); 

    $like = $like + 1; 

    StoreTheNewNumberWhereeverTheyComeFrom($like); 
    //Be careful to handle several request updating the counter simultanously 

?> 

這會有幫助嗎?

+0

<?PHP $ like = 3;?>當我使用<?PHP echo $ like時,它不起作用;?> – user2178521

+0

不確定你的意思... PHP代碼運行在服務器上,意味着服務器會填寫你的$ like變量保存的任何數字......當它準備好並且被瀏覽器接收時,<?PHP echo $ like;?>將會消失並被一個數字取代(我將3作爲例如在我的小提琴) –

+0

我做了測試,但它沒有工作,讓我試試更多,看看會發生什麼 – user2178521

0
$(document).ready(function(){ 

    var like=Number("<?PHP echo $like;?>"); 
    $('#like_num').text(like); 

    $("#like").click(function(){ 

     var like=Number("<?PHP echo $like+1;?>"); 
     $('#like_num').empty().append(like); 
      //than disable the button and post update the database  
    }); 
}); 

嘿傢伙,我找到了解決辦法,沒有回發。

我從<span></span>

刪除<?PHP echo $like;?>比我在使用jquery text()首先

當用戶點擊,它empty append <?PHP $like+1;?>

比禁用按鈕,發佈的數據,並更新數據庫