本來我有一個「喜歡按鈕」,也就是工作很順利,它看起來像這樣:呼叫數據-ID
<a href="javascript:void();" class="like" id="<?php echo $row['id']; ?>">Like <span><?php echo likes($row['id']); ?></span></a>
下面是Ajax代碼:
<script>
$(function(){
$(".like").click(function(){
var postid = $(this).attr("id");
$.ajax({
type:'POST',
url:'addlike.php',
data:'id='+postid,
success:function(data){
if(data=="you already liked this post"){
alert(data);
}
else{
$('a#'+postid).html(data);
}
}
});
});
});
</script>
如果AJAX成功,addlike.php將有兩種響應,如果用戶已經喜歡它,或者更新喜歡的數量,則提示「您已經喜歡該帖子」。例如,如果當前有10個喜歡,當用戶點擊該按鈕時,$('a#'+ postid).html(數據)將會改變10到11,因爲在這種情況下,數據將是喜歡的更新數目,和$('a#'+ postid)選擇剛被點擊的「like button」。
出於某種原因,我必須使用數據id而不是id爲按鈕的html id。有關更詳細的解釋,請參見此處:Disable boostrap toggle collapse for one class and enable it for another
現在我必須調用ajax成功響應中具有data-id而不是id的元素,我該怎麼做?我試過以下內容:
$('a#data-id'+postid).html(data);
$('.[data-id="postid"]').html(data);
$('a[data-id='+postid']').html(data);
$('a#'+"[data-id=postid"]).text(data);
但它們都不起作用。提前致謝。
是它工作正常? –