所以,我在php/mysql中生成了一个带有"while"循环的表,我希望用户能够使用AJAX/JQuery单击向上箭头按钮,并让它将+1添加到数据库中的整数中,并在页面上显示该新值。 我已经解决了这个问题,但是通过在我的脚本中的其他地方进行更改,它以某种方式停止工作。 让我告诉你我有什么。
这是php脚本,与表格相呼应。 我创建一个向上箭头,然后显示点(我稍后想添加 +1)。
<div id="new_UpArrow">
<a href="javascript:void(0)" class = "new_upArrow"
rowid="' . $row['item'] . '"><img src="../Img/new_upArrow.gif"/>
</a> </div>';}
///////////POINTS/////////////
echo ' <div class = "points" id="' . $row['item'] . '">'. $row['points'] . '</div>
这是JQuery。 我首先发送一个 GET 语句以将 +1 添加到数据库中,然后我需要它在页面上为用户显示新的 +1 值。
//upArrow
$('.new_upArrow').click(function(){
var row = $(this).attr('rowid');
$.ajax({
type: "GET",
url: "upVote.php?id="+row,
cache: false,
async: false,
context: $('#'+row),
success: function(result) {
$(this).html(parseInt($(this).html()) + 1);
},
error: function(result){
alert('Voting error, please try again.');
}
});
});
同样,这在一天前工作得很好,现在我无法让它再次工作。 这是怎么回事??
谢谢大家!!
编辑:经过一些进一步的调试,这就是我所在的地方:
jQuery从我的php中提取rowid很好,因为我能够回显该变量。 但是,即使我在"上下文"部分中手动输入该 ID,脚本也会失败。 我无法将jQuery集中在我的"点"div上。
(编辑:好吧,我的第一个建议非常愚蠢,我没有正确阅读问题,对此感到抱歉)
您是否尝试过仅使用成功函数中的选择器,而不是$(this)
?row
变量位于闭包中,因此您可以重用它...