2014-01-16 71 views
-2

我想學習JavaScript,並在此掛起電話。基本上試圖運行循環,只有在profile [i]等於另一個名爲pro的變量時才選擇值。 這裏是選擇一切的代碼。if語句裏面的for循環在javascript中

 downloadUrl("phpsqlajax_genxml.php", function(data) { 
     var xml = data.responseXML; 
     var markers = xml.documentElement.getElementsByTagName("marker"); 
     var pro="<?php echo $inform['profile']; ?>"; 
    for (var i = 0; i < markers.length; i++) { 
     var profile = markers[i].getAttribute("profile"); 
    var date = markers[i].getAttribute("date"); 
    var catch1 = markers[i].getAttribute("catch1"); 
     var catch2 = markers[i].getAttribute("catch2"); 
     var catch3 = markers[i].getAttribute("catch3"); 


     var point = new google.maps.LatLng(
      parseFloat(markers[i].getAttribute("latit")), 
      parseFloat(markers[i].getAttribute("longit"))); 
     var html = "<b>" + date + "</b> <br/>" + catch1 + "<br/>" + catch2 + "<br/>" + catch3; 

     var marker = new google.maps.Marker({ 
     map: map, 
     position: point, 

     });  
     bindInfoWindow(marker, map, infoWindow, html); 

我試過後

 var profile = markers[i].getAttribute("profile"); 

加入

 if (profile['i'] = pro) 
     { 

,但它仍然通過整個事情循環。 有什麼建議嗎?

回答

2

您正在分配而不是比較。改爲使用==

var profile = markers[i].getAttribute("profile"); 
if (profile['i'] == pro) 
{ 
    var date = markers[i].getAttribute("date"); 
    var catch1 = markers[i].getAttribute("catch1"); 
} 
+5

或'==='如果你不想比較相同的類型。 –

+0

謝謝,就是這樣。我還必須將配置文件['i']更改爲配置文件。 – user3163779