2011-06-29 6 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の何かをする必要があります。私はそれが動作するはずだと思う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 />'); 

OKは、申し訳ありません私はそれをテストしていません。一方で

+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

読みにくく、余分な不必要な変数がたくさんあります。最低でも、 " - a"という接尾辞付き変数を作成するのではなく、!= ""文が真であると評価された場合は、html変数に追加してください。 – Jordan

関連する問題