我有一个谷歌地图,当用户添加标记时,它会计算该标记与上一个标记之间的距离。我通过jQuery将距离添加到表中。距离很好。我希望有一个“累积距离列,它可以将距离增加到该点。所以它看起来像这样:
我正在为每行的跨度动态分配ID。我不知道如何创建累积距离列。这是我到目前为止所做的:
var currentIndex=0;
var distancenm = Math.round((((google.maps.geometry.spherical.computeDistanceBetween(FromLocation, ToLocation))/1000)) * 0.539957);
var accdistance = $("#distance_0").val();
var accdistance2 = $("#distance_1").val();
var accdistancetotal = (accdistance+accdistance2);
$('#table').append('<tr id="table_row_'+(currentIndex-1)+'">'+
'<td><span id="distance_'+(currentIndex-1)+'" name="distance_[]" class="distance">'+distancenm+' </span></td>'+
'<td><span id="accdistance_'+(currentIndex-1)+'" name="accdistance_[]" class="accumulateddistance">'+accdistancetotal+' </span></td>'+
'</td>'
我也不知道如何选择ID而不直接引用它:
$("#distance_0").val();
因为我不知道用户将添加多少分。因此,我需要以每行的累积距离列只是当前行的距离列+前一行的距离列的总和。
编辑:在Mario的建议之后看起来像这样:答案 0 :(得分:1)
要总结所有当前距离,您需要这样做:
var accDistance = 0;
$('.distance').each(function() {
accDistance += parseInt($(this).text());
});
accDistance += distancenm;
我认为它会起作用,因为在您的示例中,您在val()
标记中使用<span>
,这是不正确的。