我在while循环中有这个......
echo 'var contentString = '<div id="content" >
<div id="bodyContent">
<p>' + $row[name]+ '</p>
</p>
</div>
</div>';';
但是我得到了意想不到的idenitfier = id
我正在使用此while循环从数据库加载标记并将它们添加到谷歌地图。
<?php
mysql_data_seek($query, 0);
while ($row = mysql_fetch_array($query)) {
$lat2 = $row['lat'];
$lon2 = $row['lng'];
echo 'var icon = customIcons[ "' . $row['type'] . '"];';
echo 'var miLatLng = new google.maps.LatLng(' . $lat2 . ',' . $lon2 . ');';
echo 'bounds.extend(miLatLng);';
echo 'var url = "markerpage.php?id=" + id;';
echo "
var contentString = "
<div id='content'>
<div id='bodyContent'>
<p>" . $row['name'] . "</p>
</div>
</div>"
";
echo 'var marker = new google.maps.Marker({';
echo 'position: miLatLng,';
echo 'map: map,';
echo 'icon: icon.icon,';
echo 'url: url';
echo '});';
}
?>
的JavaScript ....
此函数打开包含contentString内容
的信息窗口 function bindInfoWindow(marker, map, infoWindow, contentString) {
infoWindow = new google.maps.InfoWindow({
content: contentString,
maxWidth: 100,
maxHeight: 100
});
google.maps.event.addListener(marker, 'mouseover', function () {
infoWindow.setContent(contentString);
infoWindow.open(map, marker);
});
google.maps.event.addListener(marker, 'click', function () {
infoWindow.setContent(contentString);
infoWindow.close(map, marker);
});
}
答案 0 :(得分:1)
认为你在寻找这样的东西:
echo "var contentString = \"<div id=\"content\">
<div id=\"bodyContent\">
<p>" . $row['name'] . "</p>
</div>
</div>\";";
也许你读到这个很好:
答案 1 :(得分:0)
只是逃避Javascript中使用的单引号
echo 'var contentString = \'<div id="content" >
<div id="bodyContent">
<p>' . $row['name'] . '</p>
</div>
</div>\';';
答案 2 :(得分:0)
我有几种方法可以在PHP中使用引号内的引号。
在这里,您的浏览器将解释&#34;作为引用,并将与JavaScript一起使用:
echo "
var contentString = "
<div id='content'>
<div id='bodyContent'>
<p>" . $row['name'] . "</p>
</div>
</div>"
";
或者您可以使用\"
告诉PHP忽略引用。
echo "
var contentString = \"
<div id='content'>
<div id='bodyContent'>
<p>" . $row['name'] . "</p>
</div>
</div>\"
";