我有一个使用 jQuery 的 Ajax“喜欢”按钮,该按钮将在页面上多次使用。我真的不想多次包含 jQuery 脚本,所以有没有办法让 jQuery 适用于页面上的所有类似按钮,但使用每个帖子的唯一 ID。这可能是一个菜鸟问题,但这就是我。您能提供的任何解决方案都会很棒。谢谢!
代码:
jQuery:
<script type="text/javascript">
$(function() {
$(".like").click(function(){
$("#loading").html('<img src="loader.gif" align="absmiddle"> loading...');
$.ajax({
type: "POST",
url: "like.php?id=<?php $row['uid']; ?>", // UNIQUE ID, EVERY POST WILL HAVE ONE
success: function(){
$("#loading").ajaxComplete(function(){}).slideUp();
$('#like'+I).fadeOut(200).hide();
$('#remove'+I).fadeIn(200).show();
}
});
return false;
});
});
</script>
<script type="text/javascript">
$(function() {
$(".remove").click(function(){
$("#loading").html('<img src="loader.gif" align="absmiddle"> loading...');
$.ajax({
type: "POST",
url: "remove.php?id=<?php $row['uid']; ?>", /// UNIQUE ID, EVERY POST WILL HAVE ONE
success: function(){
$("#loading").ajaxComplete(function(){}).slideUp();
$('#remove'+I).fadeOut(200).hide();
$('#like'+I).fadeIn(200).show();
}
});
return false;
});
});
</script>
HTML:
<div id="follow1"><a href="#" class="follow" id="1">
<span style="font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-weight: bold; color:#7391AC; text-align:left; font-size:20px; text-align:left;"> <strong>like</strong>
</span></a>
</div>
<div id="remove1" style="display:none"><a href="#" class="remove" id="1">
<span class="remove_b" style="font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-weight: bold; color:#7391AC; text-align:left; font-size:20px; text-align:left;">unlike
</span></a>
</div>
最佳答案
您可以将 id 存储在包含元素上,并通过每次单击获取该 id,如下所示;
html
<div class="box" data-id="1">
<a href="#" class="like">like</a>
<a href="#" class="remove">remove</a>
<!--etc-->
</div>
javascript
$(function() {
$(".like, .remove").click(function(e) {
var id = $(this).closest('.box').data('id');
var url = $(this).attr('class') + ".php?id=" + id;
// a click on like will generate a url: like.php?id=1
});
});
关于php - 使多个ajax 'like' 按钮使用相同的jQuery 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139277/