Скрытие пустых адресных строк для указателя карты Google - PullRequest
1 голос
/ 29 июня 2011

У меня есть несколько указателей, которые выглядят хорошо. Во всплывающем окне я добавляю различные элементы информации в javascript.

т.е.

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 />";

Однако иногда строки пустые (что применимо больше, если бы я хотел добавить дополнительную информацию) - как я могу подавить пустые строки в коде? Чтобы всплывающее окно просто отображало данные в базе данных.

Спасибо.

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Сначала я бы собрал содержимое HTML var в PHP.Например:

$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 голосов
/ 30 июня 2011

Хотя вышеперечисленное может работать (еще не проверял, но будет работать), я нашел решение с

  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\/>";

Возможно, более простой способ даже выше, но это работает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...