-1

对这种事情很陌生。

本质上,我只是希望返回的 url 值(见下文)将自身显示为超链接。“url”是数据库中包含(显然)网站 url 的列的名称。

以前我会使用这样的东西:

echo "<a href=".$row['url'].">".$row['url']."</a>";

但我不确定这种情况下的语法。这是代码片段:

 function createMarker(latlng, venuename, url, address, phone) {
      var html = "<b>" + venuename + 
      "</b> <br/>" + url +
      "</b> <br/>" + address + 
      "</b> <br/>" + phone;
      var marker = new google.maps.Marker({
        map: map,
        position: latlng
      });
      google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(html);
        infoWindow.open(map, marker);
      });
      markers.push(marker);
    }

谢谢。

4

2 回答 2

1

你的意思是你如何在php中传递一个数组,以便它为每个结果调用这个javascript函数并使url成为一个链接?如果是这样尝试这样的事情:

在您的页脚、window.load 函数或您选择在页面加载后提供 js 的任何方式中:

<script type="text/javascript">
<?php foreach($db_array AS $row): ?>
    createMarker('<?php echo $row['latlng']; ?>', '<?php echo $row['venuename']; ?>', '<?php echo $row['url']; ?>', '<?php echo $row['address']; ?>', '<?php echo $row['phone']; ?>');
<?php endforeach; ?>

function createMarker(latlng, venuename, url, address, phone) {
          var html = "<b>" + venuename + 
          "</b> <br/><a href=\"" + url + "\">" + url + "</a>" +
          "</b> <br/>" + address + 
          "</b> <br/>" + phone;
          var marker = new google.maps.Marker({
            map: map,
            position: latlng
          });
          google.maps.event.addListener(marker, 'click', function() {
            infoWindow.setContent(html);
            infoWindow.open(map, marker);
          });
          markers.push(marker);
        }
</script>

这假设您有一个名为 $db_array 的数据库结果数组,并且字段与 js 函数的名称匹配。显然,您将这些值替换为实际值。

于 2012-08-31T03:06:07.207 回答
0

其中第一个是一个简单的 php 回显链接,后一个是用于创建谷歌标记的 javascript。你会想要决定你想做什么。它只是一个链接吗?或创建一个标记?

而且你有一些 html 元素在 javascript 中不匹配。

对于这个特定的输出,您可以在函数之前添加:

var url = <?php echo $row['url']; ?>

但当然我不知道你想如何循环它。

于 2012-08-31T02:22:45.360 回答