2011-06-29 34 views
1

我有一些指針,顯示正常。在彈出窗口中,我正在拉動JavaScript中的各種信息。隱藏Google地圖指針的空白地址行

var address1 = markers[i].getAttribute("address1"); 
     var address2 = markers[i].getAttribute("address2"); 
     var address3 = markers[i].getAttribute("address3"); 
     var address4 = markers[i].getAttribute("address4"); 
     var county = markers[i].getAttribute("county"); 
     var postcode = markers[i].getAttribute("postcode"); 
     var name = markers[i].getAttribute("name"); 
     var html = "<b>"+name+"<\/b><p>" 
     + address1 + "<br />" 
+ address2 + "<br />" 
+ address3 + "<br />" 
+ address4 + "<br />" 
+ county + "<br />" 
+ postcode + "<br />"; 

但是有時線是空的(這將適用於更多,如果我想添加更多的信息) - 我怎樣才能抑制空行的代碼?以便彈出窗口只顯示數據庫中的數據。

謝謝。

+0

待辦事項你想隱藏空行嗎? –

回答

1

我會先用PHP構建HTML var內容。像這樣:

$address = array(); 
$address[] = $address1; 
$address[] = $address2; 
$address[] = $address3; 
$address[] = $address4; 
$address[] = $county; 
$address[] = $postcode; 

array_filter($address); // this will remove blank entries 
$address = implode("<br />",$address); 

否則,你需要在javascript中做類似的事情,這可能會有點棘手。

OK JavaScript版本

var address = []; 
address.push(markers[i].getAttribute("address1")); 
address.push(markers[i].getAttribute("address2")); 
address.push(markers[i].getAttribute("address3")); 
address.push(markers[i].getAttribute("address4")); 
address.push(markers[i].getAttribute("county")); 
address.push(markers[i].getAttribute("postcode")); 

for (var i=0; i < address.length; i++) { 
    if (address[i].length == 0) address.splice(i,1); 
} 
var html = address.join('<br />'); 

我認爲應該工作,對不起,我沒有測試它。

+0

謝謝。應該將此標記爲javascript,對不起。由於在腳本期間拉入了xml文件,我需要在一個腳本中完成它。 –

+0

謝謝你一定會努力 –

0

雖然上述可能工作(尚未對其進行測試,但會做),我發現

if (address1 != "") { 
     var address1a = address1 + "<br\/>"; 
    } else { 
address1a = ""; 
} 
    if (address2 != "") { 
     var address2a = address2 + "<br\/>"; 
    } else { 
address2a = ""; 
} 
    if (address3 != "") { 
     var address3a = address3 + "<br\/>"; 
    } else { 
address3a = ""; 
} 
    if (address4 != "") { 
     var address4a = address4 + "<br\/>"; 
    } else { 
address4a = ""; 
} 
    if (county != "") { 
     var countya = county + "<br\/>"; 
    } else { 
countya = ""; 
} 
    if (postcode != "") { 
     var postcodea = postcode + "<br\/>"; 
    } else { 
postcodea = ""; 
} 

      var html = "<b>"+ name + "<\/b><br\/>" + address1a + address2a + address3a + address4a + countya + postcodea + "<br\/>"; 

大概連上面的一個簡單的方法解決方案,但它的工作原理:)

+0

這是適度難以閱讀,並引入了很多額外的不必要的變量。至少,如果你的!=「」語句的計算結果爲true,而不是創建「-a」後綴變量,那麼可以附加到html變量。 – Jordan