在ajax中动态创建的div中的重复结果

时间:2017-12-10 18:42:33

标签: jquery ajax

当评论部分的用户回答评论时,我需要使用ajax更新“显示答案数”......

我的脚本就是这样 - 除非因为回答部分是在循环中动态创建的,所以它会为所有答案部分创建一个实例...

实施例。 3评论分别为9,27,23个答案

  

我想要的是什么:

用户提交评论2的回答 它现在显示评论2下的更新答案数(即28)

  

我得到了什么:

用户提交评论2的回答 它现在显示评论2下每条评论(即分别为9,28,23)的更新答案数

#to_d
  

如何修复我的设置或我的jQuery加载以获得我想要的内容?

我的基本设置:
v.php(带注释的页面)

# @param mdeg [Array<int,int>] latitude and longitude in mdeg format
# @return [String] String to build up the ST_Point
def mdeg_to_stpoint(mdeg)
  mdeg_d = mdeg.collect { |x| x.to_d / 1_000_000 }
  "Point(#{mdeg_d[0]} #{mdeg_d[1]})"
end

的jquery.js

// comment 1
9 answers

// comment 2
9 answers
28 answers
23 answers
// after whole page refresh it goes back to just
28 answers

// comment 3
23 answers

1 个答案:

答案 0 :(得分:0)

HTML中的ID参数应该是唯一的。您应该将html设置为使用<div id="answerCount3"></div>之类的唯一ID作为注释3,这样您就可以访问特定元素来更新其内容。例如 - 如果您的API调用返回这样的答案计数 -

[1: "9 answers",2: "28 answers", 3: "23 answers"]

您可以使用以下jQuery代码来更新您的html:

// given that result contains [1: "9 answers",2: "28 answers", 3: "23 answers"] 
$.each(result, function( key, value ) {
    $("#answerCount"+key).html(value);  
}