У меня есть таблица, которую извлекают из MySql через PHP. TD в таблицах имеют уникальные идентификаторы и автоматически автоинкрементируются в цикле.
$i=0;
while($row = mysql_fetch_array($result))
{ $i = $i+1;
echo "<tr>";
echo "<td>" . $row['DRAINNAME'] . "</td>";
echo "<td id='lat" . $i ."'>" . $row['LATITUDE'] . "</td>";
echo "<td id='lon" . $i ."'>" . $row['LONGITUDE'] . "</td>";
echo "<td> <input type='button' onclick='detect_load();' value='Click Me' /><br>
<div id='divsec". $i ."' style='width: 200px; height: 200px;'></div> </td>";
echo "</tr>";
}
echo "</table>";
Я пишу функцию Javascript, которая должна получать значения изуникальные идентификаторы TDs ..
function getLocation(pos) {
latitude = document.getElementById('lat'+ '<?php echo $i; ?>').innerHTML;
longitude = document.getElementById('lon'+ '<?php echo $i; ?>').innerHTML;
load_map();
}
Но, похоже, '<?php echo $i; ?>'
dosent работает .. :( Я имею в виду, например, --- Если значение i равно 2, то td становится lat2 иlon2, но в javascript он не принимает эти значения идентификаторов, т. е. lat2 и lon2 .. он выдает ошибку, говоря, что его NULL ..
Вот полный код, если вы не можете его понять ....
<html>
<head>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var latitude = '';
var longitude = '';
function getLocation(pos) {
latitude = document.getElementById('lat'+ <?php echo $i; ?>).innerHTML;
longitude = document.getElementById('lon'+ <?php echo $i; ?>).innerHTML;
load_map();
}
function unknownLocation(){alert('Could not find location');}
function detect_load(){
navigator.geolocation.getCurrentPosition(getLocation, unknownLocation);
}
function load_map() {
if(latitude == '' || longitude == '')
return false;
var latlng = new google.maps.LatLng(latitude, longitude);
var config = {
zoom: 11,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('divsec'+ <?php echo $i; ?>),config);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"Your requested location!"
});
}
</script>
</head>
<body>
<?php
include 'datalogin.php';
$result = mysql_query("SELECT DRAINNAME, LATITUDE, LONGITUDE FROM draininfo");
echo "<table border='1' name='tab1'>
<tr>
<th>Drain Name</th>
<th>Latitude</th>
<th>Longitude</th>
<th>Show On Map</th>
</tr>";
$i=0;
while($row = mysql_fetch_array($result))
{ $i = $i+1;
echo "<tr>";
echo "<td>" . $row['DRAINNAME'] . "</td>";
echo "<td id='lat" . $i ."'>" . $row['LATITUDE'] . "</td>";
echo "<td id='lon" . $i ."'>" . $row['LONGITUDE'] . "</td>";
echo "<td> <input type='button' onclick='detect_load();' value='Click Me' /><br>
<div id='divsec". $i ."' style='width: 200px; height: 200px;'></div> </td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
</body>
</html>