在Ajax循环中添加文本函数已损坏

时间:2015-03-23 15:09:46

标签: javascript ajax

我想用 done_by 类更改每个范围的文本,所以我使用了Ajax。

由于某些原因,我必须将每个span的ID发送到display_name.php。该ID由两个以'_'分隔的数字创建,这就是我将使用.split

的原因

有我的代码

$('.done_by').each(function()
{
    temp = $(this).attr('id').split("_");

    $.post("../functions/ajax/display_name.php",
    {
      id_case: temp[0],
      id_task: temp[1]
    },
    function(data,status){

        $(this).html(data);                 
        //alert("Data: " + data + "\nStatus: " + status);
    });             
});

id_case id_task 很好地发送到display_name.php。 我不确定$(this).html(data);

的语法

它什么也没显示。但警报(数据)发送了我想要的所有内容。我几乎可以肯定语法是错误的

1 个答案:

答案 0 :(得分:2)

'this'对象是它自己的当前功能。 替换如下。

$('.done_by').each(function()
{
  temp = $(this).attr('id').split("_");
  var self = this;

  $.post("../functions/ajax/display_name.php",
  {
    id_case: temp[0],
    id_task: temp[1]
  },
  function(data,status){

    $(self).html(data);                 
    //alert("Data: " + data + "\nStatus: " + status);
  });             
});