2014-01-16 72 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