javascript上的javascript数组变量

时间:2016-03-24 23:03:15

标签: javascript jquery html ejs

我是网页设计的新手。我有这样的问题:

<script type="text/javascript">     

    var searchIDs = new Array();
    <% searches.forEach(function (search) { %>
    searchIDs.push('<%= search._id%>');
    console.log('<%= search._id%>');
    <% }) %>    
</script>   

...

<script>
    for (var i = 0; i < searchIDs.length; i++) {
        $.get('../../tCounter', { search: searchIDs[i]}, function(data){

            console.log(data.c);
            $("#" + searchIDs[i]).append("<b>" + data.c + "</b>");
        });
    }
</script>

在这段代码中,我有一些div,它们的id由searchID生成。我想通过搜索ID来访问不同的html组件。问题在这里,我可以使用get获取真正的数据并使用console.log(data.c)查看;但我无法达到正确的组件来写入数据。它总是附加在同一个div上。我在等你的建议, 感谢。

1 个答案:

答案 0 :(得分:1)

问题是内部函数运行异步。循环结束,i在运行时处于最高值。

最简单的方法是使用jquery&#39; s $.each()这样

$.each(searchIDs, function(i, id) {
  $.get('../../tCounter', {
    search: id
  }, function(data) {
    console.log(data.c);
    $("#" + id).append("<b>" + data.c + "</b>");
  });
});