2014-01-16 4 views
-2

Я пытаюсь изучить javascript и повесить на него. В основном пытается запустить цикл и выбирать значения только в том случае, если профиль [i] равен другой переменной с именем pro. Вот код, который выбирает все.if statement in for loop in 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); 

Я попытался добавить

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

после

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

, но он все еще перебирает все это. Любые предложения?

ответ

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