2013-09-05 55 views
0

我有一個函數,它從xml文件中檢索數據,然後它應該顯示在div中。問題是我只能得到數組的最後一個元素。有沒有辦法獲得所有元素並將它們填充到div中?重複xml數據到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"); 
    } 

所以,如果有人知道如何顯示陣列我會很感激的元素的其餘部分。

此致敬禮。

回答

1

document.getElementById("paradasDiv").innerHTML = tablaParadas; 你對你的每次循環覆蓋的#paradasDivinnerHTML。 這就是爲什麼你只能看到數組的最後一個元素。

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

此外,在開始循環之前,你也許需要清空它:

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

+0

它可以正常使用 –