无法使 JQuery 函数工作


Unable to make JQuery function work

所以,我在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变量位于闭包中,因此您可以重用它...