将输出从javascript重定向到HTML

时间:2014-03-12 12:22:59

标签: javascript php html google-maps google-maps-api-3

我有javascript函数来计算“我的位置”与其坐标是从数据库中提取的另一个位置之间的距离。现在,我正在使用php从数据库中提取数据并在HTML表格中显示数据。我也用php调用javascript。该函数执行正常,我得到了所需的结果。但是,我现在想将此函数的输出重定向到HTML表中。

这是我的代码:

<script>
var latLngA;
function getLocation(coordinates,call_number) {
    //alert("Entering with coordinates " + coordinates + " and call number " + call_number);
    navigator.geolocation.getCurrentPosition(
        function(position) {
            if(call_number == 0){
                latLngA = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
            }   
            var latlong = coordinates.split(",");
            var latLngB = new google.maps.LatLng(parseFloat(latlong[0]), parseFloat(latlong[1]));
            var distance = google.maps.geometry.spherical.computeDistanceBetween(latLngA, latLngB);
            var table = document.getElementById('venue_list');
            var tbody = table.getElementsByTagName('tbody')[0];
            var rows = tbody.getElementsByTagName('tr');
            rows[i].getElementsByTagName('td')[2].innerHTML = distance/1000;
        },
        function() {
            alert("Geo-location not supported!");
        }
    );
}
</script>
<?php
$i = 0;
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result))
                    {
                        $name = $row['NAME'];
                        $img = $row['IMAGE_SRC'];
                        $addr = $row['ADDRESS'];
                        $location = $row['LOCATION'];
                        $coordinates = $row['COORDINATES'];

                        echo "<script type='text/javascript'>map_function('{$addr}','{$name}','{$img}','{$i}');</script>";
                    ?>
                        <tr>
                            <td>
                                    <img src="<?php echo $img.".jpg"?>" height="100" width="100">
                            </td>
                            <td>
                                    <?php echo $name?>
                            </td>
                            <td>
                                    <?php echo "<script type='text/javascript'>getLocation('{$coordinates}','{$i}');</script>";?>
                            </td>
                            <td style="display:none;">
                                    <?php echo $location?>
                            </td>
                        </tr>                       
                    <?php
                        $i=$i+1;
                    }
                ?>

venue_list是显示数据的表的id。虽然函数执行得很好,但是我无法在相应的表行中获得输出。等待解决方案。感谢。

1 个答案:

答案 0 :(得分:0)

rows [i]似乎不对。 如果你通过使用循环来咀嚼它们,试着给td的不同id。这样可以更轻松地访问它们。