0

我有一个从 xml 文件中检索数据的函数,然后它应该在 div 中显示它。问题是我只得到数组的最后一个元素。有没有办法获取所有元素并将它们填充到 div 中?

这是功能:

 function paradascamionesHistorico() {
 google.maps.event.addListener(map, 'click', function() {
infowindowMarkerParadas.close();
});
var Boton = document.getElementById('Boton').value;
var textboxImei = document.getElementById('imeiHistorico').value;
var textboxFecha = document.getElementById('fechaInicioHistorico').value;
var textboxFechaFin = document.getElementById('fechaFinHistorico').value;
var textboxDesdeHora = document.getElementById('desdeHoraHistorico').value;
var textboxHastaHora = document.getElementById('hastaHoraHistorico').value;

downloadUrl("paradas.asp?imei="+textboxImei+"&fecha="+textboxFecha+" "+textboxDesdeHora+"&fechaFin="+textboxFechaFin+" "+textboxHastaHora, 
function(data) {
    var xml = xmlParse(data);
    var markersParadas = xml.documentElement.getElementsByTagName("marker");    
    var position = [];
    //var bounds = new google.maps.LatLngBounds(); 

    for (var i = 0; i < markersParadas.length; i++) {

    var lat = parseFloat(markersParadas[i].getAttribute("lat"));
    var lng = parseFloat(markersParadas[i].getAttribute("lng"));
    var myLatlngParadas = new google.maps.LatLng(lat, lng);

    var fechaInicio = markersParadas[i].getAttribute("fechaInicio");
    var fechaFinal = markersParadas[i].getAttribute("fechaFinal");
    var diferencia = markersParadas[i].getAttribute("diferencia");
    //alert(+diferencia);

    var datearray = diferencia.split("/"); 

    var newDate = datearray[1] + '/' + datearray[0] + '/' + datearray[2];
    var aFecha = new Date(newDate);
        var hours = aFecha.getHours();
        var minutes = aFecha.getMinutes();
        var seconds = aFecha.getSeconds();

    var markerParadas = createMarkerParadas(myLatlngParadas, hours, minutes, seconds, fechaInicio, fechaFinal);

    myMarkersParadas.push(markerParadas);
    var tablaParadas = '<a href="javascript:myclickParadas(' + (myMarkersParadas.length-1) + ')">' + seconds + '<\/a><br>';


 document.getElementById("paradasDiv").innerHTML = tablaParadas;
  }//finish loop




}); //end download url

}//termina function


function myclickParadas(i) {
    google.maps.event.trigger(myMarkersParadas[i], "click");
  }

因此,如果有人知道如何显示数组的其余元素,我将不胜感激。

此致。

4

1 回答 1

1

document.getElementById("paradasDiv").innerHTML = tablaParadas; 您正在覆盖循环innerHTML#paradasDiv每次迭代。这就是为什么您只能看到数组的最后一个元素。

你必须附加到它: document.getElementById("paradasDiv").innerHTML += tablaParadas;

此外,在开始循环之前,您可能需要清空它:

document.getElementById("paradasDiv").innerHTML = '';

于 2013-09-05T17:35:43.310 回答